From 9c5a27ae0006337d6a4d8fa9b23f585707f1aff7 Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Thu, 25 Jul 2024 21:18:22 +0000 Subject: [PATCH] This release adds support for sharing trust stores across accounts and organizations through integration with AWS Resource Access Manager. CloudWatch Application Signals now supports application logs correlation with traces and operational health metrics of applications running on EC2 instances. Users can view the most relevant telemetry to troubleshoot application health anomalies such as spikes in latency, errors, and availability. API and documentation updates for Amazon ECR, adding support for creating, updating, describing and deleting ECR Repository Creation Template. Introduces GetEnvironmentCredentials operation to SDK Provides ServiceUnavailableException error message This release adds support to customer managed KMS key encryption in AWS Step Functions. EC2 Fleet now supports using custom identifiers to reference Amazon Machine Images (AMI) in launch requests that are configured to choose from a diversified list of instance types. CreateRepository API now throws OperationNotAllowedException when the account has been restricted from creating a repository. This release adds support for EKS cluster to manage extended support. Application Auto Scaling is now more responsive to the changes in demand of your SageMaker Inference endpoints. To get started, create or update a Target Tracking policy based on High Resolution CloudWatch metrics. Adding default vCPU information to GetOutpostSupportedInstanceTypes and GetOutpostInstanceTypes responses You can now log events that are related to TLS inspection, in addition to the existing alert and flow logging. --- VERSION | 2 +- .../model/MetricType.h | 4 +- .../source/model/MetricType.cpp | 14 + .../ApplicationSignalsClient.h | 33 +- .../model/GetServiceRequest.h | 6 +- .../model/GetServiceResult.h | 29 +- .../model/ListServiceDependenciesRequest.h | 6 +- .../model/ListServiceDependenciesResult.h | 8 +- .../model/ListServiceDependentsRequest.h | 6 +- .../model/ListServiceDependentsResult.h | 8 +- .../model/ListServiceOperationsRequest.h | 6 +- .../model/ListServiceOperationsResult.h | 8 +- .../model/ListServicesRequest.h | 6 +- .../model/ListServicesResult.h | 8 +- .../model/ResourceNotFoundException.h | 2 +- .../aws/application-signals/model/Service.h | 21 + .../source/model/GetServiceResult.cpp | 15 + .../source/model/Service.cpp | 35 +- .../bedrock-runtime/BedrockRuntimeClient.h | 50 +-- .../model/ConverseStreamOutput.h | 16 + .../bedrock-runtime/model/ResponseStream.h | 20 +- .../source/model/ConverseStreamHandler.cpp | 2 +- .../InvokeModelWithResponseStreamHandler.cpp | 2 +- .../include/aws/codecommit/CodeCommitErrors.h | 1 + .../model/CreateRepositoryRequest.h | 2 +- .../UpdateRepositoryEncryptionKeyRequest.h | 2 +- .../source/CodeCommitErrors.cpp | 6 + .../include/aws/datazone/DataZoneClient.h | 26 ++ .../aws/datazone/DataZoneServiceClientModel.h | 5 + .../model/GetEnvironmentCredentialsRequest.h | 74 ++++ .../model/GetEnvironmentCredentialsResult.h | 111 ++++++ .../source/DataZoneClient.cpp | 42 ++ .../GetEnvironmentCredentialsRequest.cpp | 28 ++ .../model/GetEnvironmentCredentialsResult.cpp | 66 ++++ .../ec2/model/FleetLaunchTemplateOverrides.h | 24 +- .../FleetLaunchTemplateOverridesRequest.h | 24 +- .../aws/ec2/model/RequestLaunchTemplateData.h | 30 +- .../include/aws/ec2/model/ResourceType.h | 1 - .../source/model/ResourceType.cpp | 7 - .../include/aws/ecr/ECRClient.h | 114 +++++- .../include/aws/ecr/ECRErrors.h | 2 + .../include/aws/ecr/ECRServiceClientModel.h | 21 + .../model/CreatePullThroughCacheRuleRequest.h | 4 +- .../CreateRepositoryCreationTemplateRequest.h | 220 +++++++++++ .../CreateRepositoryCreationTemplateResult.h | 82 ++++ .../DeleteRepositoryCreationTemplateRequest.h | 59 +++ .../DeleteRepositoryCreationTemplateResult.h | 81 ++++ .../aws/ecr/model/DescribeRegistryResult.h | 2 +- ...scribeRepositoryCreationTemplatesRequest.h | 110 ++++++ ...escribeRepositoryCreationTemplatesResult.h | 104 +++++ .../aws/ecr/model/EncryptionConfiguration.h | 6 +- ...nfigurationForRepositoryCreationTemplate.h | 97 +++++ .../aws/ecr/model/GetRegistryPolicyResult.h | 2 +- .../GetRegistryScanningConfigurationResult.h | 2 +- .../aws/ecr/model/PutRegistryPolicyResult.h | 2 +- .../include/aws/ecr/model/RCTAppliedFor.h | 31 ++ .../ecr/model/RepositoryCreationTemplate.h | 244 ++++++++++++ .../UpdateRepositoryCreationTemplateRequest.h | 213 ++++++++++ .../UpdateRepositoryCreationTemplateResult.h | 82 ++++ .../src/aws-cpp-sdk-ecr/source/ECRClient.cpp | 108 +++++ .../src/aws-cpp-sdk-ecr/source/ECRErrors.cpp | 10 + ...reateRepositoryCreationTemplateRequest.cpp | 109 +++++ ...CreateRepositoryCreationTemplateResult.cpp | 54 +++ ...eleteRepositoryCreationTemplateRequest.cpp | 43 ++ ...DeleteRepositoryCreationTemplateResult.cpp | 54 +++ ...ribeRepositoryCreationTemplatesRequest.cpp | 63 +++ ...cribeRepositoryCreationTemplatesResult.cpp | 63 +++ ...igurationForRepositoryCreationTemplate.cpp | 73 ++++ .../source/model/RCTAppliedFor.cpp | 72 ++++ .../model/RepositoryCreationTemplate.cpp | 213 ++++++++++ ...pdateRepositoryCreationTemplateRequest.cpp | 109 +++++ ...UpdateRepositoryCreationTemplateResult.cpp | 54 +++ .../include/aws/eks/model/Cluster.h | 19 + .../aws/eks/model/CreateClusterRequest.h | 18 + .../include/aws/eks/model/SupportType.h | 31 ++ .../eks/model/UpdateClusterConfigRequest.h | 18 + .../include/aws/eks/model/UpdateParamType.h | 3 +- .../include/aws/eks/model/UpdateType.h | 3 +- .../aws/eks/model/UpgradePolicyRequest.h | 70 ++++ .../aws/eks/model/UpgradePolicyResponse.h | 68 ++++ .../aws-cpp-sdk-eks/source/model/Cluster.cpp | 16 +- .../source/model/CreateClusterRequest.cpp | 9 +- .../source/model/SupportType.cpp | 72 ++++ .../model/UpdateClusterConfigRequest.cpp | 9 +- .../source/model/UpdateParamType.cpp | 7 + .../source/model/UpdateType.cpp | 7 + .../source/model/UpgradePolicyRequest.cpp | 59 +++ .../source/model/UpgradePolicyResponse.cpp | 59 +++ .../ElasticLoadBalancingv2Client.h | 61 ++- .../ElasticLoadBalancingv2Errors.h | 2 + ...ElasticLoadBalancingv2ServiceClientModel.h | 10 + ...DeleteSharedTrustStoreAssociationRequest.h | 77 ++++ .../DeleteSharedTrustStoreAssociationResult.h | 50 +++ .../model/DescribeTargetHealthRequest.h | 2 +- .../model/GetResourcePolicyRequest.h | 60 +++ .../model/GetResourcePolicyResult.h | 66 ++++ .../model/MutualAuthenticationAttributes.h | 16 + .../model/SetIpAddressTypeRequest.h | 16 +- .../model/TrustStoreAssociationStatusEnum.h | 31 ++ .../source/ElasticLoadBalancingv2Client.cpp | 54 +++ .../source/ElasticLoadBalancingv2Errors.cpp | 186 ++++----- ...leteSharedTrustStoreAssociationRequest.cpp | 41 ++ ...eleteSharedTrustStoreAssociationResult.cpp | 49 +++ .../source/model/GetResourcePolicyRequest.cpp | 35 ++ .../source/model/GetResourcePolicyResult.cpp | 54 +++ .../model/MutualAuthenticationAttributes.cpp | 19 +- .../model/TrustStoreAssociationStatusEnum.cpp | 72 ++++ .../network-firewall/NetworkFirewallClient.h | 16 +- .../model/LogDestinationConfig.h | 42 +- .../aws/network-firewall/model/LogType.h | 3 +- .../aws/network-firewall/model/StatefulRule.h | 6 +- .../source/model/LogType.cpp | 7 + .../aws/outposts/model/InstanceTypeItem.h | 13 + .../source/model/InstanceTypeItem.cpp | 17 +- .../include/aws/states/SFNClient.h | 83 ++-- .../include/aws/states/SFNErrors.h | 7 +- .../aws/states/model/CreateActivityRequest.h | 16 + .../states/model/CreateStateMachineRequest.h | 16 + .../aws/states/model/DescribeActivityResult.h | 14 + .../states/model/DescribeExecutionRequest.h | 20 + .../DescribeStateMachineForExecutionRequest.h | 20 + .../DescribeStateMachineForExecutionResult.h | 14 + .../model/DescribeStateMachineRequest.h | 24 ++ .../states/model/DescribeStateMachineResult.h | 17 +- .../states/model/EncryptionConfiguration.h | 107 +++++ .../include/aws/states/model/EncryptionType.h | 31 ++ .../include/aws/states/model/IncludedData.h | 31 ++ .../states/model/KmsInvalidStateException.h | 78 ++++ .../include/aws/states/model/KmsKeyState.h | 34 ++ .../states/model/StartSyncExecutionRequest.h | 20 + .../states/model/UpdateStateMachineRequest.h | 16 + .../aws-cpp-sdk-states/source/SFNErrors.cpp | 32 ++ .../source/model/CreateActivityRequest.cpp | 9 +- .../model/CreateStateMachineRequest.cpp | 9 +- .../source/model/DescribeActivityResult.cpp | 6 + .../source/model/DescribeExecutionRequest.cpp | 9 +- ...escribeStateMachineForExecutionRequest.cpp | 9 +- ...DescribeStateMachineForExecutionResult.cpp | 6 + .../model/DescribeStateMachineRequest.cpp | 9 +- .../model/DescribeStateMachineResult.cpp | 6 + .../source/model/EncryptionConfiguration.cpp | 88 +++++ .../source/model/EncryptionType.cpp | 72 ++++ .../source/model/IncludedData.cpp | 72 ++++ .../source/model/KmsInvalidStateException.cpp | 73 ++++ .../source/model/KmsKeyState.cpp | 93 +++++ .../model/StartSyncExecutionRequest.cpp | 9 +- .../model/UpdateStateMachineRequest.cpp | 9 +- .../include/aws/core/VersionConfig.h | 4 +- ...ication-autoscaling-2016-02-06.normal.json | 4 +- ...application-signals-2024-04-15.normal.json | 57 +-- .../bedrock-runtime-2023-09-30.normal.json | 36 +- .../codecommit-2015-04-13.normal.json | 16 +- .../datazone-2018-05-10.normal.json | 62 +++ .../ec2-2016-11-15.normal.json | 7 +- .../ecr-2015-09-21.normal.json | 372 +++++++++++++++++- .../eks-2017-11-01.normal.json | 45 ++- ...sticloadbalancingv2-2015-12-01.normal.json | 139 ++++++- .../network-firewall-2020-11-12.normal.json | 19 +- .../outposts-2019-12-03.normal.json | 14 +- .../states-2016-11-23.normal.json | 223 +++++++++-- 160 files changed, 6419 insertions(+), 370 deletions(-) create mode 100644 generated/src/aws-cpp-sdk-datazone/include/aws/datazone/model/GetEnvironmentCredentialsRequest.h create mode 100644 generated/src/aws-cpp-sdk-datazone/include/aws/datazone/model/GetEnvironmentCredentialsResult.h create mode 100644 generated/src/aws-cpp-sdk-datazone/source/model/GetEnvironmentCredentialsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-datazone/source/model/GetEnvironmentCredentialsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/CreateRepositoryCreationTemplateRequest.h create mode 100644 generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/CreateRepositoryCreationTemplateResult.h create mode 100644 generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DeleteRepositoryCreationTemplateRequest.h create mode 100644 generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DeleteRepositoryCreationTemplateResult.h create mode 100644 generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DescribeRepositoryCreationTemplatesRequest.h create mode 100644 generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DescribeRepositoryCreationTemplatesResult.h create mode 100644 generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/EncryptionConfigurationForRepositoryCreationTemplate.h create mode 100644 generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/RCTAppliedFor.h create mode 100644 generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/RepositoryCreationTemplate.h create mode 100644 generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/UpdateRepositoryCreationTemplateRequest.h create mode 100644 generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/UpdateRepositoryCreationTemplateResult.h create mode 100644 generated/src/aws-cpp-sdk-ecr/source/model/CreateRepositoryCreationTemplateRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ecr/source/model/CreateRepositoryCreationTemplateResult.cpp create mode 100644 generated/src/aws-cpp-sdk-ecr/source/model/DeleteRepositoryCreationTemplateRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ecr/source/model/DeleteRepositoryCreationTemplateResult.cpp create mode 100644 generated/src/aws-cpp-sdk-ecr/source/model/DescribeRepositoryCreationTemplatesRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ecr/source/model/DescribeRepositoryCreationTemplatesResult.cpp create mode 100644 generated/src/aws-cpp-sdk-ecr/source/model/EncryptionConfigurationForRepositoryCreationTemplate.cpp create mode 100644 generated/src/aws-cpp-sdk-ecr/source/model/RCTAppliedFor.cpp create mode 100644 generated/src/aws-cpp-sdk-ecr/source/model/RepositoryCreationTemplate.cpp create mode 100644 generated/src/aws-cpp-sdk-ecr/source/model/UpdateRepositoryCreationTemplateRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ecr/source/model/UpdateRepositoryCreationTemplateResult.cpp create mode 100644 generated/src/aws-cpp-sdk-eks/include/aws/eks/model/SupportType.h create mode 100644 generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyRequest.h create mode 100644 generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyResponse.h create mode 100644 generated/src/aws-cpp-sdk-eks/source/model/SupportType.cpp create mode 100644 generated/src/aws-cpp-sdk-eks/source/model/UpgradePolicyRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-eks/source/model/UpgradePolicyResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DeleteSharedTrustStoreAssociationRequest.h create mode 100644 generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DeleteSharedTrustStoreAssociationResult.h create mode 100644 generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetResourcePolicyRequest.h create mode 100644 generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetResourcePolicyResult.h create mode 100644 generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStoreAssociationStatusEnum.h create mode 100644 generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DeleteSharedTrustStoreAssociationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DeleteSharedTrustStoreAssociationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetResourcePolicyRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetResourcePolicyResult.cpp create mode 100644 generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStoreAssociationStatusEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-states/include/aws/states/model/EncryptionConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-states/include/aws/states/model/EncryptionType.h create mode 100644 generated/src/aws-cpp-sdk-states/include/aws/states/model/IncludedData.h create mode 100644 generated/src/aws-cpp-sdk-states/include/aws/states/model/KmsInvalidStateException.h create mode 100644 generated/src/aws-cpp-sdk-states/include/aws/states/model/KmsKeyState.h create mode 100644 generated/src/aws-cpp-sdk-states/source/model/EncryptionConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-states/source/model/EncryptionType.cpp create mode 100644 generated/src/aws-cpp-sdk-states/source/model/IncludedData.cpp create mode 100644 generated/src/aws-cpp-sdk-states/source/model/KmsInvalidStateException.cpp create mode 100644 generated/src/aws-cpp-sdk-states/source/model/KmsKeyState.cpp diff --git a/VERSION b/VERSION index d02e32dfbcf..d596d9840fc 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.371 \ No newline at end of file +1.11.372 \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/MetricType.h b/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/MetricType.h index f7a161ae00d..4f9d33e6724 100644 --- a/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/MetricType.h +++ b/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/model/MetricType.h @@ -40,7 +40,9 @@ namespace Model SageMakerVariantProvisionedConcurrencyUtilization, ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage, SageMakerInferenceComponentInvocationsPerCopy, - WorkSpacesAverageUserSessionsCapacityUtilization + WorkSpacesAverageUserSessionsCapacityUtilization, + SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution, + SageMakerVariantConcurrentRequestsPerModelHighResolution }; namespace MetricTypeMapper diff --git a/generated/src/aws-cpp-sdk-application-autoscaling/source/model/MetricType.cpp b/generated/src/aws-cpp-sdk-application-autoscaling/source/model/MetricType.cpp index f8474fd560a..29abddd2bbf 100644 --- a/generated/src/aws-cpp-sdk-application-autoscaling/source/model/MetricType.cpp +++ b/generated/src/aws-cpp-sdk-application-autoscaling/source/model/MetricType.cpp @@ -45,6 +45,8 @@ namespace Aws static const int ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage_HASH = HashingUtils::HashString("ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage"); static const int SageMakerInferenceComponentInvocationsPerCopy_HASH = HashingUtils::HashString("SageMakerInferenceComponentInvocationsPerCopy"); static const int WorkSpacesAverageUserSessionsCapacityUtilization_HASH = HashingUtils::HashString("WorkSpacesAverageUserSessionsCapacityUtilization"); + static const int SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution_HASH = HashingUtils::HashString("SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution"); + static const int SageMakerVariantConcurrentRequestsPerModelHighResolution_HASH = HashingUtils::HashString("SageMakerVariantConcurrentRequestsPerModelHighResolution"); MetricType GetMetricTypeForName(const Aws::String& name) @@ -150,6 +152,14 @@ namespace Aws { return MetricType::WorkSpacesAverageUserSessionsCapacityUtilization; } + else if (hashCode == SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution_HASH) + { + return MetricType::SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution; + } + else if (hashCode == SageMakerVariantConcurrentRequestsPerModelHighResolution_HASH) + { + return MetricType::SageMakerVariantConcurrentRequestsPerModelHighResolution; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -216,6 +226,10 @@ namespace Aws return "SageMakerInferenceComponentInvocationsPerCopy"; case MetricType::WorkSpacesAverageUserSessionsCapacityUtilization: return "WorkSpacesAverageUserSessionsCapacityUtilization"; + case MetricType::SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution: + return "SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution"; + case MetricType::SageMakerVariantConcurrentRequestsPerModelHighResolution: + return "SageMakerVariantConcurrentRequestsPerModelHighResolution"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClient.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClient.h index f76b11aca59..fb6515370ce 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClient.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClient.h @@ -16,22 +16,23 @@ namespace Aws namespace ApplicationSignals { /** - *

This is a Preview release of the Application Signals API - * Reference. Operations and parameters are subject to change before the general - * availability release.

Use CloudWatch Application Signals for - * comprehensive observability of your cloud-based applications. It enables - * real-time service health dashboards and helps you track long-term performance - * trends against your business goals. The application-centric view provides you - * with unified visibility across your applications, services, and dependencies, so - * you can proactively monitor and efficiently triage any issues that may arise, - * ensuring optimal customer experience.

Application Signals provides the - * following benefits:

+ *

Use CloudWatch Application Signals for comprehensive observability of your + * cloud-based applications. It enables real-time service health dashboards and + * helps you track long-term performance trends against your business goals. The + * application-centric view provides you with unified visibility across your + * applications, services, and dependencies, so you can proactively monitor and + * efficiently triage any issues that may arise, ensuring optimal customer + * experience.

Application Signals provides the following benefits:

+ *

Application Signals works with CloudWatch RUM, CloudWatch Synthetics + * canaries, and Amazon Web Services Service Catalog AppRegistry, to display your + * client pages, Synthetics canaries, and application names within dashboards and + * maps.

*/ class AWS_APPLICATIONSIGNALS_API ApplicationSignalsClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceRequest.h index bcdd90f1875..e4a4f86f860 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceRequest.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceRequest.h @@ -44,7 +44,8 @@ namespace Model /** *

The start of the time period to retrieve information about. When used in a * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: - * 1698778057

+ * 1698778057

Your requested start time will be rounded to the + * nearest hour.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } @@ -58,7 +59,8 @@ namespace Model /** *

The end of the time period to retrieve information about. When used in a raw * HTTP Query API, it is formatted as be epoch time in seconds. For example: - * 1698778057

+ * 1698778057

Your requested start time will be rounded to the + * nearest hour.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceResult.h index e58a4e19066..04f991738ed 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceResult.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceResult.h @@ -7,7 +7,9 @@ #include #include #include +#include #include +#include #include namespace Aws @@ -49,7 +51,9 @@ namespace Model /** *

The start time of the data included in the response. In a raw HTTP Query API, * it is formatted as be epoch time in seconds. For example: - * 1698778057.

+ * 1698778057.

This displays the time that Application Signals + * used for the request. It might not match your request exactly, because it was + * rounded to the nearest hour.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } @@ -62,7 +66,9 @@ namespace Model /** *

The end time of the data included in the response. In a raw HTTP Query API, * it is formatted as be epoch time in seconds. For example: - * 1698778057.

+ * 1698778057.

This displays the time that Application Signals + * used for the request. It might not match your request exactly, because it was + * rounded to the nearest hour.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; } @@ -71,6 +77,23 @@ namespace Model inline GetServiceResult& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} ///@} + ///@{ + /** + *

An array of string-to-string maps that each contain information about one log + * group associated with this service. Each string-to-string map includes the + * following fields:

  • "Type": "AWS::Resource"

    + *
  • "ResourceType": "AWS::Logs::LogGroup"

  • + *
  • "Identifier": "name-of-log-group"

+ */ + inline const Aws::Vector>& GetLogGroupReferences() const{ return m_logGroupReferences; } + inline void SetLogGroupReferences(const Aws::Vector>& value) { m_logGroupReferences = value; } + inline void SetLogGroupReferences(Aws::Vector>&& value) { m_logGroupReferences = std::move(value); } + inline GetServiceResult& WithLogGroupReferences(const Aws::Vector>& value) { SetLogGroupReferences(value); return *this;} + inline GetServiceResult& WithLogGroupReferences(Aws::Vector>&& value) { SetLogGroupReferences(std::move(value)); return *this;} + inline GetServiceResult& AddLogGroupReferences(const Aws::Map& value) { m_logGroupReferences.push_back(value); return *this; } + inline GetServiceResult& AddLogGroupReferences(Aws::Map&& value) { m_logGroupReferences.push_back(std::move(value)); return *this; } + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -89,6 +112,8 @@ namespace Model Aws::Utils::DateTime m_endTime; + Aws::Vector> m_logGroupReferences; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependenciesRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependenciesRequest.h index d7414ced47d..58fccdcc211 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependenciesRequest.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependenciesRequest.h @@ -44,7 +44,8 @@ namespace Model /** *

The start of the time period to retrieve information about. When used in a * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: - * 1698778057

+ * 1698778057

Your requested start time will be rounded to the + * nearest hour.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } @@ -58,7 +59,8 @@ namespace Model /** *

The end of the time period to retrieve information about. When used in a raw * HTTP Query API, it is formatted as be epoch time in seconds. For example: - * 1698778057

+ * 1698778057

Your requested end time will be rounded to the + * nearest hour.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependenciesResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependenciesResult.h index 2087c519b96..fef4189a112 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependenciesResult.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependenciesResult.h @@ -39,7 +39,9 @@ namespace Model /** *

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

+ * example: 1698778057

This displays the time that Application + * Signals used for the request. It might not match your request exactly, because + * it was rounded to the nearest hour.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } @@ -52,7 +54,9 @@ namespace Model /** *

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

+ * example: 1698778057

This displays the time that Application + * Signals used for the request. It might not match your request exactly, because + * it was rounded to the nearest hour.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; } diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependentsRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependentsRequest.h index b27644df8c6..f7652929304 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependentsRequest.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependentsRequest.h @@ -44,7 +44,8 @@ namespace Model /** *

The start of the time period to retrieve information about. When used in a * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: - * 1698778057

+ * 1698778057

Your requested start time will be rounded to the + * nearest hour.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } @@ -58,7 +59,8 @@ namespace Model /** *

The end of the time period to retrieve information about. When used in a raw * HTTP Query API, it is formatted as be epoch time in seconds. For example: - * 1698778057

+ * 1698778057

Your requested start time will be rounded to the + * nearest hour.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependentsResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependentsResult.h index b026c5160ce..9a9cf6f401b 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependentsResult.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependentsResult.h @@ -39,7 +39,9 @@ namespace Model /** *

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

+ * example: 1698778057

This displays the time that Application + * Signals used for the request. It might not match your request exactly, because + * it was rounded to the nearest hour.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } @@ -52,7 +54,9 @@ namespace Model /** *

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

+ * example: 1698778057

This displays the time that Application + * Signals used for the request. It might not match your request exactly, because + * it was rounded to the nearest hour.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; } diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceOperationsRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceOperationsRequest.h index f4b77235dd0..cce42b0a7d8 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceOperationsRequest.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceOperationsRequest.h @@ -44,7 +44,8 @@ namespace Model /** *

The start of the time period to retrieve information about. When used in a * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: - * 1698778057

+ * 1698778057

Your requested start time will be rounded to the + * nearest hour.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } @@ -58,7 +59,8 @@ namespace Model /** *

The end of the time period to retrieve information about. When used in a raw * HTTP Query API, it is formatted as be epoch time in seconds. For example: - * 1698778057

+ * 1698778057

Your requested end time will be rounded to the + * nearest hour.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceOperationsResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceOperationsResult.h index d7b9c51eacf..a20f9ca3a54 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceOperationsResult.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceOperationsResult.h @@ -39,7 +39,9 @@ namespace Model /** *

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

+ * example: 1698778057

This displays the time that Application + * Signals used for the request. It might not match your request exactly, because + * it was rounded to the nearest hour.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } @@ -52,7 +54,9 @@ namespace Model /** *

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

+ * example: 1698778057

This displays the time that Application + * Signals used for the request. It might not match your request exactly, because + * it was rounded to the nearest hour.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; } diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServicesRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServicesRequest.h index fabb40fe477..9a5dae1b1c6 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServicesRequest.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServicesRequest.h @@ -43,7 +43,8 @@ namespace Model /** *

The start of the time period to retrieve information about. When used in a * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: - * 1698778057

+ * 1698778057

Your requested start time will be rounded to the + * nearest hour.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } @@ -57,7 +58,8 @@ namespace Model /** *

The end of the time period to retrieve information about. When used in a raw * HTTP Query API, it is formatted as be epoch time in seconds. For example: - * 1698778057

+ * 1698778057

Your requested start time will be rounded to the + * nearest hour.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServicesResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServicesResult.h index 4100b629b5f..0e503643258 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServicesResult.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServicesResult.h @@ -39,7 +39,9 @@ namespace Model /** *

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

+ * example: 1698778057

This displays the time that Application + * Signals used for the request. It might not match your request exactly, because + * it was rounded to the nearest hour.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } @@ -52,7 +54,9 @@ namespace Model /** *

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

+ * example: 1698778057

This displays the time that Application + * Signals used for the request. It might not match your request exactly, because + * it was rounded to the nearest hour.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; } diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ResourceNotFoundException.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ResourceNotFoundException.h index 340f0935b01..ff9b9ad3c24 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ResourceNotFoundException.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ResourceNotFoundException.h @@ -53,7 +53,7 @@ namespace Model ///@{ /** - *

Cannot find the resource id.

+ *

Can't find the resource id.

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Service.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Service.h index b90446467fd..7b2cc566590 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Service.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Service.h @@ -128,6 +128,24 @@ namespace Model inline Service& AddMetricReferences(const MetricReference& value) { m_metricReferencesHasBeenSet = true; m_metricReferences.push_back(value); return *this; } inline Service& AddMetricReferences(MetricReference&& value) { m_metricReferencesHasBeenSet = true; m_metricReferences.push_back(std::move(value)); return *this; } ///@} + + ///@{ + /** + *

An array of string-to-string maps that each contain information about one log + * group associated with this service. Each string-to-string map includes the + * following fields:

  • "Type": "AWS::Resource"

    + *
  • "ResourceType": "AWS::Logs::LogGroup"

  • + *
  • "Identifier": "name-of-log-group"

+ */ + inline const Aws::Vector>& GetLogGroupReferences() const{ return m_logGroupReferences; } + inline bool LogGroupReferencesHasBeenSet() const { return m_logGroupReferencesHasBeenSet; } + inline void SetLogGroupReferences(const Aws::Vector>& value) { m_logGroupReferencesHasBeenSet = true; m_logGroupReferences = value; } + inline void SetLogGroupReferences(Aws::Vector>&& value) { m_logGroupReferencesHasBeenSet = true; m_logGroupReferences = std::move(value); } + inline Service& WithLogGroupReferences(const Aws::Vector>& value) { SetLogGroupReferences(value); return *this;} + inline Service& WithLogGroupReferences(Aws::Vector>&& value) { SetLogGroupReferences(std::move(value)); return *this;} + inline Service& AddLogGroupReferences(const Aws::Map& value) { m_logGroupReferencesHasBeenSet = true; m_logGroupReferences.push_back(value); return *this; } + inline Service& AddLogGroupReferences(Aws::Map&& value) { m_logGroupReferencesHasBeenSet = true; m_logGroupReferences.push_back(std::move(value)); return *this; } + ///@} private: Aws::Map m_keyAttributes; @@ -138,6 +156,9 @@ namespace Model Aws::Vector m_metricReferences; bool m_metricReferencesHasBeenSet = false; + + Aws::Vector> m_logGroupReferences; + bool m_logGroupReferencesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceResult.cpp index 088b9c4bc55..68390031f75 100644 --- a/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceResult.cpp +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceResult.cpp @@ -47,6 +47,21 @@ GetServiceResult& GetServiceResult::operator =(const Aws::AmazonWebServiceResult } + if(jsonValue.ValueExists("LogGroupReferences")) + { + Aws::Utils::Array logGroupReferencesJsonList = jsonValue.GetArray("LogGroupReferences"); + for(unsigned logGroupReferencesIndex = 0; logGroupReferencesIndex < logGroupReferencesJsonList.GetLength(); ++logGroupReferencesIndex) + { + Aws::Map attributesJsonMap = logGroupReferencesJsonList[logGroupReferencesIndex].GetAllObjects(); + Aws::Map attributesMap; + for(auto& attributesItem : attributesJsonMap) + { + attributesMap[attributesItem.first] = attributesItem.second.AsString(); + } + m_logGroupReferences.push_back(std::move(attributesMap)); + } + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/Service.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/Service.cpp index 2dfca95ffa2..4b77c095f92 100644 --- a/generated/src/aws-cpp-sdk-application-signals/source/model/Service.cpp +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/Service.cpp @@ -21,7 +21,8 @@ namespace Model Service::Service() : m_keyAttributesHasBeenSet(false), m_attributeMapsHasBeenSet(false), - m_metricReferencesHasBeenSet(false) + m_metricReferencesHasBeenSet(false), + m_logGroupReferencesHasBeenSet(false) { } @@ -69,6 +70,22 @@ Service& Service::operator =(JsonView jsonValue) m_metricReferencesHasBeenSet = true; } + if(jsonValue.ValueExists("LogGroupReferences")) + { + Aws::Utils::Array logGroupReferencesJsonList = jsonValue.GetArray("LogGroupReferences"); + for(unsigned logGroupReferencesIndex = 0; logGroupReferencesIndex < logGroupReferencesJsonList.GetLength(); ++logGroupReferencesIndex) + { + Aws::Map attributesJsonMap = logGroupReferencesJsonList[logGroupReferencesIndex].GetAllObjects(); + Aws::Map attributesMap; + for(auto& attributesItem : attributesJsonMap) + { + attributesMap[attributesItem.first] = attributesItem.second.AsString(); + } + m_logGroupReferences.push_back(std::move(attributesMap)); + } + m_logGroupReferencesHasBeenSet = true; + } + return *this; } @@ -114,6 +131,22 @@ JsonValue Service::Jsonize() const } + if(m_logGroupReferencesHasBeenSet) + { + Aws::Utils::Array logGroupReferencesJsonList(m_logGroupReferences.size()); + for(unsigned logGroupReferencesIndex = 0; logGroupReferencesIndex < logGroupReferencesJsonList.GetLength(); ++logGroupReferencesIndex) + { + JsonValue attributesJsonMap; + for(auto& attributesItem : m_logGroupReferences[logGroupReferencesIndex]) + { + attributesJsonMap.WithString(attributesItem.first, attributesItem.second); + } + logGroupReferencesJsonList[logGroupReferencesIndex].AsObject(std::move(attributesJsonMap)); + } + payload.WithArray("LogGroupReferences", std::move(logGroupReferencesJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeClient.h b/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeClient.h index fdf81871e66..525369c22e0 100644 --- a/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeClient.h +++ b/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeClient.h @@ -106,15 +106,17 @@ namespace BedrockRuntime *

Sends messages to the specified Amazon Bedrock model. Converse * provides a consistent interface that works with all models that support * messages. This allows you to write code once and use it with different models. - * Should a model have unique inference parameters, you can also pass those unique - * parameters to the model.

For information about the Converse API, see - * Use the Converse API in the Amazon Bedrock User Guide. To use a - * guardrail, see Use a guardrail with the Converse API in the Amazon - * Bedrock User Guide. To use a tool with a model, see Tool use (Function - * calling) in the Amazon Bedrock User Guide

For example code, - * see Converse API examples in the Amazon Bedrock User Guide.

- *

This operation requires permission for the bedrock:InvokeModel - * action.

See Also:

Amazon Bedrock doesn't store any text, images, + * or documents that you provide as content. The data is only used to generate the + * response.

For information about the Converse API, see Use the Converse + * API in the Amazon Bedrock User Guide. To use a guardrail, see Use + * a guardrail with the Converse API in the Amazon Bedrock User Guide. + * To use a tool with a model, see Tool use (Function calling) in the + * Amazon Bedrock User Guide

For example code, see Converse API + * examples in the Amazon Bedrock User Guide.

This operation + * requires permission for the bedrock:InvokeModel action. + *

See Also:

AWS * API Reference

*/ @@ -147,14 +149,18 @@ namespace BedrockRuntime * find out if a model supports streaming, call GetFoundationModel * and check the responseStreamingSupported field in the response.

- *

For information about the Converse API, see Use the Converse API in - * the Amazon Bedrock User Guide. To use a guardrail, see Use a guardrail - * with the Converse API in the Amazon Bedrock User Guide. To use a tool - * with a model, see Tool use (Function calling) in the Amazon Bedrock - * User Guide

For example code, see Conversation streaming - * example in the Amazon Bedrock User Guide.

This operation - * requires permission for the bedrock:InvokeModelWithResponseStream - * action.

See Also:

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

Amazon Bedrock doesn't + * store any text, images, or documents that you provide as content. The data is + * only used to generate the response.

For information about the Converse + * API, see Use the Converse API in the Amazon Bedrock User Guide. To + * use a guardrail, see Use a guardrail with the Converse API in the + * Amazon Bedrock User Guide. To use a tool with a model, see Tool use + * (Function calling) in the Amazon Bedrock User Guide

For + * example code, see Conversation streaming example in the Amazon Bedrock + * User Guide.

This operation requires permission for the + * bedrock:InvokeModelWithResponseStream action.

See + * Also:

AWS * API Reference

*/ @@ -214,11 +220,11 @@ namespace BedrockRuntime * in a stream.

To see if a model supports streaming, call GetFoundationModel * and check the responseStreamingSupported field in the response.

- *

The CLI doesn't support - * InvokeModelWithResponseStream.

For example code, see - * Invoke model with streaming code example in the Amazon Bedrock User - * Guide.

This operation requires permissions to perform the - * bedrock:InvokeModelWithResponseStream action.

See + *

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

For example + * code, see Invoke model with streaming code example in the Amazon + * Bedrock User Guide.

This operation requires permissions to perform + * the bedrock:InvokeModelWithResponseStream action.

See * Also:

AWS * API Reference

diff --git a/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/model/ConverseStreamOutput.h b/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/model/ConverseStreamOutput.h index e1d701a0dad..942ecf19380 100644 --- a/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/model/ConverseStreamOutput.h +++ b/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/model/ConverseStreamOutput.h @@ -15,6 +15,7 @@ #include #include #include +#include #include namespace Aws @@ -166,6 +167,18 @@ namespace Model inline ConverseStreamOutput& WithThrottlingException(const ThrottlingException& value) { SetThrottlingException(value); return *this;} inline ConverseStreamOutput& WithThrottlingException(ThrottlingException&& value) { SetThrottlingException(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

The service isn't currently available. Try again later.

+ */ + inline const ServiceUnavailableException& GetServiceUnavailableException() const{ return m_serviceUnavailableException; } + inline bool ServiceUnavailableExceptionHasBeenSet() const { return m_serviceUnavailableExceptionHasBeenSet; } + inline void SetServiceUnavailableException(const ServiceUnavailableException& value) { m_serviceUnavailableExceptionHasBeenSet = true; m_serviceUnavailableException = value; } + inline void SetServiceUnavailableException(ServiceUnavailableException&& value) { m_serviceUnavailableExceptionHasBeenSet = true; m_serviceUnavailableException = std::move(value); } + inline ConverseStreamOutput& WithServiceUnavailableException(const ServiceUnavailableException& value) { SetServiceUnavailableException(value); return *this;} + inline ConverseStreamOutput& WithServiceUnavailableException(ServiceUnavailableException&& value) { SetServiceUnavailableException(std::move(value)); return *this;} + ///@} private: MessageStartEvent m_messageStart; @@ -197,6 +210,9 @@ namespace Model ThrottlingException m_throttlingException; bool m_throttlingExceptionHasBeenSet = false; + + ServiceUnavailableException m_serviceUnavailableException; + bool m_serviceUnavailableExceptionHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/model/ResponseStream.h b/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/model/ResponseStream.h index 8d629fa0c52..22c206e3f80 100644 --- a/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/model/ResponseStream.h +++ b/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/model/ResponseStream.h @@ -11,6 +11,7 @@ #include #include #include +#include #include namespace Aws @@ -93,8 +94,10 @@ namespace Model ///@{ /** - *

The number or frequency of requests exceeds the limit. Resubmit your request - * later.

+ *

Your request was throttled because of service-wide limitations. Resubmit your + * request later or in a different region. You can also purchase Provisioned + * Throughput to increase the rate or number of tokens you can process.

*/ inline const ThrottlingException& GetThrottlingException() const{ return m_throttlingException; } inline bool ThrottlingExceptionHasBeenSet() const { return m_throttlingExceptionHasBeenSet; } @@ -116,6 +119,16 @@ namespace Model inline ResponseStream& WithModelTimeoutException(const ModelTimeoutException& value) { SetModelTimeoutException(value); return *this;} inline ResponseStream& WithModelTimeoutException(ModelTimeoutException&& value) { SetModelTimeoutException(std::move(value)); return *this;} ///@} + + ///@{ + + inline const ServiceUnavailableException& GetServiceUnavailableException() const{ return m_serviceUnavailableException; } + inline bool ServiceUnavailableExceptionHasBeenSet() const { return m_serviceUnavailableExceptionHasBeenSet; } + inline void SetServiceUnavailableException(const ServiceUnavailableException& value) { m_serviceUnavailableExceptionHasBeenSet = true; m_serviceUnavailableException = value; } + inline void SetServiceUnavailableException(ServiceUnavailableException&& value) { m_serviceUnavailableExceptionHasBeenSet = true; m_serviceUnavailableException = std::move(value); } + inline ResponseStream& WithServiceUnavailableException(const ServiceUnavailableException& value) { SetServiceUnavailableException(value); return *this;} + inline ResponseStream& WithServiceUnavailableException(ServiceUnavailableException&& value) { SetServiceUnavailableException(std::move(value)); return *this;} + ///@} private: PayloadPart m_chunk; @@ -135,6 +148,9 @@ namespace Model ModelTimeoutException m_modelTimeoutException; bool m_modelTimeoutExceptionHasBeenSet = false; + + ServiceUnavailableException m_serviceUnavailableException; + bool m_serviceUnavailableExceptionHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock-runtime/source/model/ConverseStreamHandler.cpp b/generated/src/aws-cpp-sdk-bedrock-runtime/source/model/ConverseStreamHandler.cpp index 9c806b92030..57cb846ea1c 100644 --- a/generated/src/aws-cpp-sdk-bedrock-runtime/source/model/ConverseStreamHandler.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-runtime/source/model/ConverseStreamHandler.cpp @@ -239,7 +239,7 @@ namespace Model JsonValue exceptionPayload(GetEventPayloadAsString()); if (!exceptionPayload.WasParseSuccessful()) { - AWS_LOGSTREAM_ERROR(CONVERSESTREAM_HANDLER_CLASS_TAG, "Unable to generate a proper ThrottlingException object from the response in JSON format."); + AWS_LOGSTREAM_ERROR(CONVERSESTREAM_HANDLER_CLASS_TAG, "Unable to generate a proper ServiceUnavailableException object from the response in JSON format."); auto contentTypeIter = headers.find(Aws::Utils::Event::CONTENT_TYPE_HEADER); if (contentTypeIter != headers.end()) { diff --git a/generated/src/aws-cpp-sdk-bedrock-runtime/source/model/InvokeModelWithResponseStreamHandler.cpp b/generated/src/aws-cpp-sdk-bedrock-runtime/source/model/InvokeModelWithResponseStreamHandler.cpp index 73a20458405..a8b8c6eb42b 100644 --- a/generated/src/aws-cpp-sdk-bedrock-runtime/source/model/InvokeModelWithResponseStreamHandler.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-runtime/source/model/InvokeModelWithResponseStreamHandler.cpp @@ -148,7 +148,7 @@ namespace Model JsonValue exceptionPayload(GetEventPayloadAsString()); if (!exceptionPayload.WasParseSuccessful()) { - AWS_LOGSTREAM_ERROR(INVOKEMODELWITHRESPONSESTREAM_HANDLER_CLASS_TAG, "Unable to generate a proper ModelTimeoutException object from the response in JSON format."); + AWS_LOGSTREAM_ERROR(INVOKEMODELWITHRESPONSESTREAM_HANDLER_CLASS_TAG, "Unable to generate a proper ServiceUnavailableException object from the response in JSON format."); auto contentTypeIter = headers.find(Aws::Utils::Event::CONTENT_TYPE_HEADER); if (contentTypeIter != headers.end()) { diff --git a/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitErrors.h b/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitErrors.h index 0708b66d914..9b725d5d92c 100644 --- a/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitErrors.h +++ b/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitErrors.h @@ -186,6 +186,7 @@ enum class CodeCommitErrors NO_CHANGE, NUMBER_OF_RULES_EXCEEDED, NUMBER_OF_RULE_TEMPLATES_EXCEEDED, + OPERATION_NOT_ALLOWED, OVERRIDE_ALREADY_SET, OVERRIDE_STATUS_REQUIRED, PARENT_COMMIT_DOES_NOT_EXIST, diff --git a/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/model/CreateRepositoryRequest.h b/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/model/CreateRepositoryRequest.h index 932e05ae63d..64222937e53 100644 --- a/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/model/CreateRepositoryRequest.h +++ b/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/model/CreateRepositoryRequest.h @@ -102,7 +102,7 @@ namespace Model *

The ID of the encryption key. You can view the ID of an encryption key in the * KMS console, or use the KMS APIs to programmatically retrieve a key ID. For more * information about acceptable values for kmsKeyID, see KeyId + * href="https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html#KMS-Decrypt-request-KeyId">KeyId * in the Decrypt API description in the Key Management Service API * Reference.

If no key is specified, the default * aws/codecommit Amazon Web Services managed key is used.

diff --git a/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/model/UpdateRepositoryEncryptionKeyRequest.h b/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/model/UpdateRepositoryEncryptionKeyRequest.h index db444abeb14..05320285db1 100644 --- a/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/model/UpdateRepositoryEncryptionKeyRequest.h +++ b/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/model/UpdateRepositoryEncryptionKeyRequest.h @@ -54,7 +54,7 @@ namespace Model *

The ID of the encryption key. You can view the ID of an encryption key in the * KMS console, or use the KMS APIs to programmatically retrieve a key ID. For more * information about acceptable values for keyID, see KeyId + * href="https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html#KMS-Decrypt-request-KeyId">KeyId * in the Decrypt API description in the Key Management Service API * Reference.

*/ diff --git a/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitErrors.cpp b/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitErrors.cpp index 8691288e28d..06ff5b27364 100644 --- a/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitErrors.cpp +++ b/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitErrors.cpp @@ -152,6 +152,7 @@ static const int SOURCE_AND_DESTINATION_ARE_SAME_HASH = HashingUtils::HashString static const int PATH_REQUIRED_HASH = HashingUtils::HashString("PathRequiredException"); static const int INVALID_DELETION_PARAMETER_HASH = HashingUtils::HashString("InvalidDeletionParameterException"); static const int INVALID_TAGS_MAP_HASH = HashingUtils::HashString("InvalidTagsMapException"); +static const int OPERATION_NOT_ALLOWED_HASH = HashingUtils::HashString("OperationNotAllowedException"); static const int INVALID_FILE_LOCATION_HASH = HashingUtils::HashString("InvalidFileLocationException"); static const int INVALID_BRANCH_NAME_HASH = HashingUtils::HashString("InvalidBranchNameException"); static const int MAXIMUM_FILE_ENTRIES_EXCEEDED_HASH = HashingUtils::HashString("MaximumFileEntriesExceededException"); @@ -891,6 +892,11 @@ static bool GetErrorForNameHelper1(int hashCode, AWSError& error) error = AWSError(static_cast(CodeCommitErrors::INVALID_TAGS_MAP), RetryableType::NOT_RETRYABLE); return true; } + else if (hashCode == OPERATION_NOT_ALLOWED_HASH) + { + error = AWSError(static_cast(CodeCommitErrors::OPERATION_NOT_ALLOWED), RetryableType::NOT_RETRYABLE); + return true; + } else if (hashCode == INVALID_FILE_LOCATION_HASH) { error = AWSError(static_cast(CodeCommitErrors::INVALID_FILE_LOCATION), RetryableType::NOT_RETRYABLE); diff --git a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClient.h b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClient.h index 4ab55442a7b..23d00f8ba90 100644 --- a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClient.h +++ b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClient.h @@ -1480,6 +1480,32 @@ namespace DataZone return SubmitAsync(&DataZoneClient::GetEnvironmentBlueprintConfiguration, request, handler, context); } + /** + *

Gets the credentials of an environment in Amazon DataZone.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::GetEnvironmentCredentialsOutcome GetEnvironmentCredentials(const Model::GetEnvironmentCredentialsRequest& request) const; + + /** + * A Callable wrapper for GetEnvironmentCredentials that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetEnvironmentCredentialsOutcomeCallable GetEnvironmentCredentialsCallable(const GetEnvironmentCredentialsRequestT& request) const + { + return SubmitCallable(&DataZoneClient::GetEnvironmentCredentials, request); + } + + /** + * An Async wrapper for GetEnvironmentCredentials that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetEnvironmentCredentialsAsync(const GetEnvironmentCredentialsRequestT& request, const GetEnvironmentCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DataZoneClient::GetEnvironmentCredentials, request, handler, context); + } + /** *

Gets an evinronment profile in Amazon DataZone.

See Also:

AWS diff --git a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneServiceClientModel.h b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneServiceClientModel.h index c9c95e3505b..b8b2898b58d 100644 --- a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneServiceClientModel.h @@ -67,6 +67,7 @@ #include #include #include +#include #include #include #include @@ -231,6 +232,7 @@ namespace Aws class GetEnvironmentActionRequest; class GetEnvironmentBlueprintRequest; class GetEnvironmentBlueprintConfigurationRequest; + class GetEnvironmentCredentialsRequest; class GetEnvironmentProfileRequest; class GetFormTypeRequest; class GetGlossaryRequest; @@ -356,6 +358,7 @@ namespace Aws typedef Aws::Utils::Outcome GetEnvironmentActionOutcome; typedef Aws::Utils::Outcome GetEnvironmentBlueprintOutcome; typedef Aws::Utils::Outcome GetEnvironmentBlueprintConfigurationOutcome; + typedef Aws::Utils::Outcome GetEnvironmentCredentialsOutcome; typedef Aws::Utils::Outcome GetEnvironmentProfileOutcome; typedef Aws::Utils::Outcome GetFormTypeOutcome; typedef Aws::Utils::Outcome GetGlossaryOutcome; @@ -481,6 +484,7 @@ namespace Aws typedef std::future GetEnvironmentActionOutcomeCallable; typedef std::future GetEnvironmentBlueprintOutcomeCallable; typedef std::future GetEnvironmentBlueprintConfigurationOutcomeCallable; + typedef std::future GetEnvironmentCredentialsOutcomeCallable; typedef std::future GetEnvironmentProfileOutcomeCallable; typedef std::future GetFormTypeOutcomeCallable; typedef std::future GetGlossaryOutcomeCallable; @@ -609,6 +613,7 @@ namespace Aws typedef std::function&) > GetEnvironmentActionResponseReceivedHandler; typedef std::function&) > GetEnvironmentBlueprintResponseReceivedHandler; typedef std::function&) > GetEnvironmentBlueprintConfigurationResponseReceivedHandler; + typedef std::function&) > GetEnvironmentCredentialsResponseReceivedHandler; typedef std::function&) > GetEnvironmentProfileResponseReceivedHandler; typedef std::function&) > GetFormTypeResponseReceivedHandler; typedef std::function&) > GetGlossaryResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/model/GetEnvironmentCredentialsRequest.h b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/model/GetEnvironmentCredentialsRequest.h new file mode 100644 index 00000000000..22cf9e2c92c --- /dev/null +++ b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/model/GetEnvironmentCredentialsRequest.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 DataZone +{ +namespace Model +{ + + /** + */ + class GetEnvironmentCredentialsRequest : public DataZoneRequest + { + public: + AWS_DATAZONE_API GetEnvironmentCredentialsRequest(); + + // 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 "GetEnvironmentCredentials"; } + + AWS_DATAZONE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The ID of the Amazon DataZone domain in which this environment and its + * credentials exist.

+ */ + inline const Aws::String& GetDomainIdentifier() const{ return m_domainIdentifier; } + inline bool DomainIdentifierHasBeenSet() const { return m_domainIdentifierHasBeenSet; } + inline void SetDomainIdentifier(const Aws::String& value) { m_domainIdentifierHasBeenSet = true; m_domainIdentifier = value; } + inline void SetDomainIdentifier(Aws::String&& value) { m_domainIdentifierHasBeenSet = true; m_domainIdentifier = std::move(value); } + inline void SetDomainIdentifier(const char* value) { m_domainIdentifierHasBeenSet = true; m_domainIdentifier.assign(value); } + inline GetEnvironmentCredentialsRequest& WithDomainIdentifier(const Aws::String& value) { SetDomainIdentifier(value); return *this;} + inline GetEnvironmentCredentialsRequest& WithDomainIdentifier(Aws::String&& value) { SetDomainIdentifier(std::move(value)); return *this;} + inline GetEnvironmentCredentialsRequest& WithDomainIdentifier(const char* value) { SetDomainIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

The ID of the environment whose credentials this operation gets.

+ */ + inline const Aws::String& GetEnvironmentIdentifier() const{ return m_environmentIdentifier; } + inline bool EnvironmentIdentifierHasBeenSet() const { return m_environmentIdentifierHasBeenSet; } + inline void SetEnvironmentIdentifier(const Aws::String& value) { m_environmentIdentifierHasBeenSet = true; m_environmentIdentifier = value; } + inline void SetEnvironmentIdentifier(Aws::String&& value) { m_environmentIdentifierHasBeenSet = true; m_environmentIdentifier = std::move(value); } + inline void SetEnvironmentIdentifier(const char* value) { m_environmentIdentifierHasBeenSet = true; m_environmentIdentifier.assign(value); } + inline GetEnvironmentCredentialsRequest& WithEnvironmentIdentifier(const Aws::String& value) { SetEnvironmentIdentifier(value); return *this;} + inline GetEnvironmentCredentialsRequest& WithEnvironmentIdentifier(Aws::String&& value) { SetEnvironmentIdentifier(std::move(value)); return *this;} + inline GetEnvironmentCredentialsRequest& WithEnvironmentIdentifier(const char* value) { SetEnvironmentIdentifier(value); return *this;} + ///@} + private: + + Aws::String m_domainIdentifier; + bool m_domainIdentifierHasBeenSet = false; + + Aws::String m_environmentIdentifier; + bool m_environmentIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace DataZone +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/model/GetEnvironmentCredentialsResult.h b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/model/GetEnvironmentCredentialsResult.h new file mode 100644 index 00000000000..f440ce2a6f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/model/GetEnvironmentCredentialsResult.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 DataZone +{ +namespace Model +{ + class GetEnvironmentCredentialsResult + { + public: + AWS_DATAZONE_API GetEnvironmentCredentialsResult(); + AWS_DATAZONE_API GetEnvironmentCredentialsResult(const Aws::AmazonWebServiceResult& result); + AWS_DATAZONE_API GetEnvironmentCredentialsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The access key ID of the environment.

+ */ + inline const Aws::String& GetAccessKeyId() const{ return m_accessKeyId; } + inline void SetAccessKeyId(const Aws::String& value) { m_accessKeyId = value; } + inline void SetAccessKeyId(Aws::String&& value) { m_accessKeyId = std::move(value); } + inline void SetAccessKeyId(const char* value) { m_accessKeyId.assign(value); } + inline GetEnvironmentCredentialsResult& WithAccessKeyId(const Aws::String& value) { SetAccessKeyId(value); return *this;} + inline GetEnvironmentCredentialsResult& WithAccessKeyId(Aws::String&& value) { SetAccessKeyId(std::move(value)); return *this;} + inline GetEnvironmentCredentialsResult& WithAccessKeyId(const char* value) { SetAccessKeyId(value); return *this;} + ///@} + + ///@{ + /** + *

The expiration timestamp of the environment credentials.

+ */ + inline const Aws::Utils::DateTime& GetExpiration() const{ return m_expiration; } + inline void SetExpiration(const Aws::Utils::DateTime& value) { m_expiration = value; } + inline void SetExpiration(Aws::Utils::DateTime&& value) { m_expiration = std::move(value); } + inline GetEnvironmentCredentialsResult& WithExpiration(const Aws::Utils::DateTime& value) { SetExpiration(value); return *this;} + inline GetEnvironmentCredentialsResult& WithExpiration(Aws::Utils::DateTime&& value) { SetExpiration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The secret access key of the environment credentials.

+ */ + inline const Aws::String& GetSecretAccessKey() const{ return m_secretAccessKey; } + inline void SetSecretAccessKey(const Aws::String& value) { m_secretAccessKey = value; } + inline void SetSecretAccessKey(Aws::String&& value) { m_secretAccessKey = std::move(value); } + inline void SetSecretAccessKey(const char* value) { m_secretAccessKey.assign(value); } + inline GetEnvironmentCredentialsResult& WithSecretAccessKey(const Aws::String& value) { SetSecretAccessKey(value); return *this;} + inline GetEnvironmentCredentialsResult& WithSecretAccessKey(Aws::String&& value) { SetSecretAccessKey(std::move(value)); return *this;} + inline GetEnvironmentCredentialsResult& WithSecretAccessKey(const char* value) { SetSecretAccessKey(value); return *this;} + ///@} + + ///@{ + /** + *

The session token of the environment credentials.

+ */ + inline const Aws::String& GetSessionToken() const{ return m_sessionToken; } + inline void SetSessionToken(const Aws::String& value) { m_sessionToken = value; } + inline void SetSessionToken(Aws::String&& value) { m_sessionToken = std::move(value); } + inline void SetSessionToken(const char* value) { m_sessionToken.assign(value); } + inline GetEnvironmentCredentialsResult& WithSessionToken(const Aws::String& value) { SetSessionToken(value); return *this;} + inline GetEnvironmentCredentialsResult& WithSessionToken(Aws::String&& value) { SetSessionToken(std::move(value)); return *this;} + inline GetEnvironmentCredentialsResult& WithSessionToken(const char* value) { SetSessionToken(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 GetEnvironmentCredentialsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetEnvironmentCredentialsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetEnvironmentCredentialsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_accessKeyId; + + Aws::Utils::DateTime m_expiration; + + Aws::String m_secretAccessKey; + + Aws::String m_sessionToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace DataZone +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datazone/source/DataZoneClient.cpp b/generated/src/aws-cpp-sdk-datazone/source/DataZoneClient.cpp index ed0db7f6396..af343261164 100644 --- a/generated/src/aws-cpp-sdk-datazone/source/DataZoneClient.cpp +++ b/generated/src/aws-cpp-sdk-datazone/source/DataZoneClient.cpp @@ -76,6 +76,7 @@ #include #include #include +#include #include #include #include @@ -2444,6 +2445,47 @@ GetEnvironmentBlueprintConfigurationOutcome DataZoneClient::GetEnvironmentBluepr {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetEnvironmentCredentialsOutcome DataZoneClient::GetEnvironmentCredentials(const GetEnvironmentCredentialsRequest& request) const +{ + AWS_OPERATION_GUARD(GetEnvironmentCredentials); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetEnvironmentCredentials, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DomainIdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetEnvironmentCredentials", "Required field: DomainIdentifier, is not set"); + return GetEnvironmentCredentialsOutcome(Aws::Client::AWSError(DataZoneErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainIdentifier]", false)); + } + if (!request.EnvironmentIdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetEnvironmentCredentials", "Required field: EnvironmentIdentifier, is not set"); + return GetEnvironmentCredentialsOutcome(Aws::Client::AWSError(DataZoneErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [EnvironmentIdentifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetEnvironmentCredentials, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetEnvironmentCredentials, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetEnvironmentCredentials", + {{ 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( + [&]()-> GetEnvironmentCredentialsOutcome { + 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, GetEnvironmentCredentials, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v2/domains/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDomainIdentifier()); + endpointResolutionOutcome.GetResult().AddPathSegments("/environments/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetEnvironmentIdentifier()); + endpointResolutionOutcome.GetResult().AddPathSegments("/credentials"); + return GetEnvironmentCredentialsOutcome(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()}}); +} + GetEnvironmentProfileOutcome DataZoneClient::GetEnvironmentProfile(const GetEnvironmentProfileRequest& request) const { AWS_OPERATION_GUARD(GetEnvironmentProfile); diff --git a/generated/src/aws-cpp-sdk-datazone/source/model/GetEnvironmentCredentialsRequest.cpp b/generated/src/aws-cpp-sdk-datazone/source/model/GetEnvironmentCredentialsRequest.cpp new file mode 100644 index 00000000000..665d9ab73b6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-datazone/source/model/GetEnvironmentCredentialsRequest.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::DataZone::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetEnvironmentCredentialsRequest::GetEnvironmentCredentialsRequest() : + m_domainIdentifierHasBeenSet(false), + m_environmentIdentifierHasBeenSet(false) +{ +} + +Aws::String GetEnvironmentCredentialsRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-datazone/source/model/GetEnvironmentCredentialsResult.cpp b/generated/src/aws-cpp-sdk-datazone/source/model/GetEnvironmentCredentialsResult.cpp new file mode 100644 index 00000000000..7c03ca7e6a5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-datazone/source/model/GetEnvironmentCredentialsResult.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 +#include + +#include + +using namespace Aws::DataZone::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetEnvironmentCredentialsResult::GetEnvironmentCredentialsResult() +{ +} + +GetEnvironmentCredentialsResult::GetEnvironmentCredentialsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetEnvironmentCredentialsResult& GetEnvironmentCredentialsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("accessKeyId")) + { + m_accessKeyId = jsonValue.GetString("accessKeyId"); + + } + + if(jsonValue.ValueExists("expiration")) + { + m_expiration = jsonValue.GetString("expiration"); + + } + + if(jsonValue.ValueExists("secretAccessKey")) + { + m_secretAccessKey = jsonValue.GetString("secretAccessKey"); + + } + + if(jsonValue.ValueExists("sessionToken")) + { + m_sessionToken = jsonValue.GetString("sessionToken"); + + } + + + 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/model/FleetLaunchTemplateOverrides.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/FleetLaunchTemplateOverrides.h index 2722fce3899..713215c70c5 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/FleetLaunchTemplateOverrides.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/FleetLaunchTemplateOverrides.h @@ -173,10 +173,26 @@ namespace Model ///@{ /** - *

The ID of the AMI. An AMI is required to launch an instance. This parameter - * is only available for fleets of type instant. For fleets of type - * maintain and request, you must specify the AMI ID in - * the launch template.

+ *

The ID of the AMI in the format ami-17characters00000.

+ *

Alternatively, you can specify a Systems Manager parameter, using one of the + * following formats. The Systems Manager parameter will resolve to an AMI ID on + * launch.

To reference a public parameter:

  • + * resolve:ssm:public-parameter

To + * reference a parameter stored in the same account:

  • + * resolve:ssm:parameter-name

  • + * resolve:ssm:parameter-name:version-number

  • + *

    resolve:ssm:parameter-name:label

To + * reference a parameter shared from another Amazon Web Services account:

    + *
  • resolve:ssm:parameter-ARN

  • + * resolve:ssm:parameter-ARN:version-number

  • + *

    resolve:ssm:parameter-ARN:label

For + * more information, see Use + * a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User + * Guide.

This parameter is only available for fleets of type + * instant. For fleets of type maintain and + * request, you must specify the AMI ID in the launch template.

+ * */ inline const Aws::String& GetImageId() const{ return m_imageId; } inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/FleetLaunchTemplateOverridesRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/FleetLaunchTemplateOverridesRequest.h index 9ce3415c83c..78b9b71931d 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/FleetLaunchTemplateOverridesRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/FleetLaunchTemplateOverridesRequest.h @@ -177,10 +177,26 @@ namespace Model ///@{ /** - *

The ID of the AMI. An AMI is required to launch an instance. This parameter - * is only available for fleets of type instant. For fleets of type - * maintain and request, you must specify the AMI ID in - * the launch template.

+ *

The ID of the AMI in the format ami-17characters00000.

+ *

Alternatively, you can specify a Systems Manager parameter, using one of the + * following formats. The Systems Manager parameter will resolve to an AMI ID on + * launch.

To reference a public parameter:

  • + * resolve:ssm:public-parameter

To + * reference a parameter stored in the same account:

  • + * resolve:ssm:parameter-name

  • + * resolve:ssm:parameter-name:version-number

  • + *

    resolve:ssm:parameter-name:label

To + * reference a parameter shared from another Amazon Web Services account:

    + *
  • resolve:ssm:parameter-ARN

  • + * resolve:ssm:parameter-ARN:version-number

  • + *

    resolve:ssm:parameter-ARN:label

For + * more information, see Use + * a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User + * Guide.

This parameter is only available for fleets of type + * instant. For fleets of type maintain and + * request, you must specify the AMI ID in the launch template.

+ * */ inline const Aws::String& GetImageId() const{ return m_imageId; } inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RequestLaunchTemplateData.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RequestLaunchTemplateData.h index d583fea19dd..527fb558def 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RequestLaunchTemplateData.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RequestLaunchTemplateData.h @@ -136,19 +136,27 @@ namespace Model ///@{ /** - *

The ID of the AMI. Alternatively, you can specify a Systems Manager - * parameter, which will resolve to an AMI ID on launch.

Valid formats:

- *
  • ami-17characters00000

  • - * resolve:ssm:parameter-name

  • - * resolve:ssm:parameter-name:version-number

  • - * resolve:ssm:parameter-name:label

  • - * resolve:ssm:public-parameter

Currently, - * EC2 Fleet and Spot Fleet do not support specifying a Systems Manager parameter. - * If the launch template will be used by an EC2 Fleet or Spot Fleet, you must - * specify the AMI ID.

For more information, see The ID of the AMI in the format ami-17characters00000.

+ *

Alternatively, you can specify a Systems Manager parameter, using one of the + * following formats. The Systems Manager parameter will resolve to an AMI ID on + * launch.

To reference a public parameter:

  • + * resolve:ssm:public-parameter

To + * reference a parameter stored in the same account:

  • + * resolve:ssm:parameter-name

  • + * resolve:ssm:parameter-name:version-number

  • + *

    resolve:ssm:parameter-name:label

To + * reference a parameter shared from another Amazon Web Services account:

    + *
  • resolve:ssm:parameter-ARN

  • + * resolve:ssm:parameter-ARN:version-number

  • + *

    resolve:ssm:parameter-ARN:label

For + * more information, see Use * a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User - * Guide.

+ * Guide.

If the launch template will be used for an EC2 Fleet or + * Spot Fleet, note the following:

  • Only EC2 Fleets of type + * instant support specifying a Systems Manager parameter.

  • + *
  • For EC2 Fleets of type maintain or request, or + * for Spot Fleets, you must specify the AMI ID.

*/ inline const Aws::String& GetImageId() const{ return m_imageId; } inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; } 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 eed24a7645c..d7d3e5aef08 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 @@ -99,7 +99,6 @@ namespace Model verified_access_trust_provider, vpn_connection_device_type, vpc_block_public_access_exclusion, - vpc_encryption_control, ipam_resource_discovery, ipam_resource_discovery_association, instance_connect_endpoint, 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 432fe06b563..ba69b341a1e 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/ResourceType.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ResourceType.cpp @@ -103,7 +103,6 @@ namespace Aws static const int verified_access_trust_provider_HASH = HashingUtils::HashString("verified-access-trust-provider"); static const int vpn_connection_device_type_HASH = HashingUtils::HashString("vpn-connection-device-type"); static const int vpc_block_public_access_exclusion_HASH = HashingUtils::HashString("vpc-block-public-access-exclusion"); - static const int vpc_encryption_control_HASH = HashingUtils::HashString("vpc-encryption-control"); 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"); @@ -445,10 +444,6 @@ namespace Aws { return ResourceType::vpc_block_public_access_exclusion; } - else if (hashCode == vpc_encryption_control_HASH) - { - return ResourceType::vpc_encryption_control; - } else if (hashCode == ipam_resource_discovery_HASH) { return ResourceType::ipam_resource_discovery; @@ -647,8 +642,6 @@ namespace Aws return "vpn-connection-device-type"; case ResourceType::vpc_block_public_access_exclusion: return "vpc-block-public-access-exclusion"; - case ResourceType::vpc_encryption_control: - return "vpc-encryption-control"; case ResourceType::ipam_resource_discovery: return "ipam-resource-discovery"; case ResourceType::ipam_resource_discovery_association: diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRClient.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRClient.h index f80c5e266dc..245c717451a 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRClient.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRClient.h @@ -292,6 +292,37 @@ namespace ECR return SubmitAsync(&ECRClient::CreateRepository, request, handler, context); } + /** + *

Creates a repository creation template. This template is used to define the + * settings for repositories created by Amazon ECR on your behalf. For example, + * repositories created through pull through cache actions. For more information, + * see Private + * repository creation templates in the Amazon Elastic Container Registry + * User Guide.

See Also:

AWS + * API Reference

+ */ + virtual Model::CreateRepositoryCreationTemplateOutcome CreateRepositoryCreationTemplate(const Model::CreateRepositoryCreationTemplateRequest& request) const; + + /** + * A Callable wrapper for CreateRepositoryCreationTemplate that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateRepositoryCreationTemplateOutcomeCallable CreateRepositoryCreationTemplateCallable(const CreateRepositoryCreationTemplateRequestT& request) const + { + return SubmitCallable(&ECRClient::CreateRepositoryCreationTemplate, request); + } + + /** + * An Async wrapper for CreateRepositoryCreationTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateRepositoryCreationTemplateAsync(const CreateRepositoryCreationTemplateRequestT& request, const CreateRepositoryCreationTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ECRClient::CreateRepositoryCreationTemplate, request, handler, context); + } + /** *

Deletes the lifecycle policy associated with the specified * repository.

See Also:

Deletes a repository creation template.

See Also:

AWS + * API Reference

+ */ + virtual Model::DeleteRepositoryCreationTemplateOutcome DeleteRepositoryCreationTemplate(const Model::DeleteRepositoryCreationTemplateRequest& request) const; + + /** + * A Callable wrapper for DeleteRepositoryCreationTemplate that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteRepositoryCreationTemplateOutcomeCallable DeleteRepositoryCreationTemplateCallable(const DeleteRepositoryCreationTemplateRequestT& request) const + { + return SubmitCallable(&ECRClient::DeleteRepositoryCreationTemplate, request); + } + + /** + * An Async wrapper for DeleteRepositoryCreationTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteRepositoryCreationTemplateAsync(const DeleteRepositoryCreationTemplateRequestT& request, const DeleteRepositoryCreationTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ECRClient::DeleteRepositoryCreationTemplate, request, handler, context); + } + /** *

Deletes the repository policy associated with the specified * repository.

See Also:

Returns details about the repository creation templates in a registry. The + * prefixes request parameter can be used to return the details for a + * specific repository creation template.

See Also:

AWS + * API Reference

+ */ + virtual Model::DescribeRepositoryCreationTemplatesOutcome DescribeRepositoryCreationTemplates(const Model::DescribeRepositoryCreationTemplatesRequest& request = {}) const; + + /** + * A Callable wrapper for DescribeRepositoryCreationTemplates that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeRepositoryCreationTemplatesOutcomeCallable DescribeRepositoryCreationTemplatesCallable(const DescribeRepositoryCreationTemplatesRequestT& request = {}) const + { + return SubmitCallable(&ECRClient::DescribeRepositoryCreationTemplates, request); + } + + /** + * An Async wrapper for DescribeRepositoryCreationTemplates that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeRepositoryCreationTemplatesAsync(const DescribeRepositoryCreationTemplatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeRepositoryCreationTemplatesRequestT& request = {}) const + { + return SubmitAsync(&ECRClient::DescribeRepositoryCreationTemplates, request, handler, context); + } + /** *

Retrieves an authorization token. An authorization token represents your IAM * authentication credentials and can be used to access any Amazon ECR registry @@ -1049,7 +1132,10 @@ namespace ECR * in your account for the replication process. For more information, see Using * service-linked roles for Amazon ECR in the Amazon Elastic Container - * Registry User Guide.

When configuring cross-account + * Registry User Guide. For more information on the custom role for + * replication, see Creating + * an IAM role for replication.

When configuring cross-account * replication, the destination account must grant the source account permission to * replicate. This permission is controlled using a registry permissions policy. * For more information, see PutRegistryPolicy.

See @@ -1240,6 +1326,32 @@ namespace ECR return SubmitAsync(&ECRClient::UpdatePullThroughCacheRule, request, handler, context); } + /** + *

Updates an existing repository creation template.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::UpdateRepositoryCreationTemplateOutcome UpdateRepositoryCreationTemplate(const Model::UpdateRepositoryCreationTemplateRequest& request) const; + + /** + * A Callable wrapper for UpdateRepositoryCreationTemplate that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateRepositoryCreationTemplateOutcomeCallable UpdateRepositoryCreationTemplateCallable(const UpdateRepositoryCreationTemplateRequestT& request) const + { + return SubmitCallable(&ECRClient::UpdateRepositoryCreationTemplate, request); + } + + /** + * An Async wrapper for UpdateRepositoryCreationTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateRepositoryCreationTemplateAsync(const UpdateRepositoryCreationTemplateRequestT& request, const UpdateRepositoryCreationTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ECRClient::UpdateRepositoryCreationTemplate, request, handler, context); + } + /** *

Uploads an image layer part to Amazon ECR.

When an image is pushed, * each new image layer is uploaded in parts. The maximum size of each image layer diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRErrors.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRErrors.h index b9dab2f9814..c3088a13fe3 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRErrors.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRErrors.h @@ -76,6 +76,8 @@ enum class ECRErrors SCAN_NOT_FOUND, SECRET_NOT_FOUND, SERVER, + TEMPLATE_ALREADY_EXISTS, + TEMPLATE_NOT_FOUND, TOO_MANY_TAGS, UNABLE_TO_ACCESS_SECRET, UNABLE_TO_DECRYPT_SECRET_VALUE, diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRServiceClientModel.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRServiceClientModel.h index 961da9e0da3..444ebf418eb 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRServiceClientModel.h @@ -25,10 +25,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -36,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -59,12 +62,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -116,10 +121,12 @@ namespace Aws class CompleteLayerUploadRequest; class CreatePullThroughCacheRuleRequest; class CreateRepositoryRequest; + class CreateRepositoryCreationTemplateRequest; class DeleteLifecyclePolicyRequest; class DeletePullThroughCacheRuleRequest; class DeleteRegistryPolicyRequest; class DeleteRepositoryRequest; + class DeleteRepositoryCreationTemplateRequest; class DeleteRepositoryPolicyRequest; class DescribeImageReplicationStatusRequest; class DescribeImageScanFindingsRequest; @@ -127,6 +134,7 @@ namespace Aws class DescribePullThroughCacheRulesRequest; class DescribeRegistryRequest; class DescribeRepositoriesRequest; + class DescribeRepositoryCreationTemplatesRequest; class GetAuthorizationTokenRequest; class GetDownloadUrlForLayerRequest; class GetLifecyclePolicyRequest; @@ -150,6 +158,7 @@ namespace Aws class TagResourceRequest; class UntagResourceRequest; class UpdatePullThroughCacheRuleRequest; + class UpdateRepositoryCreationTemplateRequest; class UploadLayerPartRequest; class ValidatePullThroughCacheRuleRequest; /* End of service model forward declarations required in ECRClient header */ @@ -162,10 +171,12 @@ namespace Aws typedef Aws::Utils::Outcome CompleteLayerUploadOutcome; typedef Aws::Utils::Outcome CreatePullThroughCacheRuleOutcome; typedef Aws::Utils::Outcome CreateRepositoryOutcome; + typedef Aws::Utils::Outcome CreateRepositoryCreationTemplateOutcome; typedef Aws::Utils::Outcome DeleteLifecyclePolicyOutcome; typedef Aws::Utils::Outcome DeletePullThroughCacheRuleOutcome; typedef Aws::Utils::Outcome DeleteRegistryPolicyOutcome; typedef Aws::Utils::Outcome DeleteRepositoryOutcome; + typedef Aws::Utils::Outcome DeleteRepositoryCreationTemplateOutcome; typedef Aws::Utils::Outcome DeleteRepositoryPolicyOutcome; typedef Aws::Utils::Outcome DescribeImageReplicationStatusOutcome; typedef Aws::Utils::Outcome DescribeImageScanFindingsOutcome; @@ -173,6 +184,7 @@ namespace Aws typedef Aws::Utils::Outcome DescribePullThroughCacheRulesOutcome; typedef Aws::Utils::Outcome DescribeRegistryOutcome; typedef Aws::Utils::Outcome DescribeRepositoriesOutcome; + typedef Aws::Utils::Outcome DescribeRepositoryCreationTemplatesOutcome; typedef Aws::Utils::Outcome GetAuthorizationTokenOutcome; typedef Aws::Utils::Outcome GetDownloadUrlForLayerOutcome; typedef Aws::Utils::Outcome GetLifecyclePolicyOutcome; @@ -196,6 +208,7 @@ namespace Aws typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdatePullThroughCacheRuleOutcome; + typedef Aws::Utils::Outcome UpdateRepositoryCreationTemplateOutcome; typedef Aws::Utils::Outcome UploadLayerPartOutcome; typedef Aws::Utils::Outcome ValidatePullThroughCacheRuleOutcome; /* End of service model Outcome class definitions */ @@ -208,10 +221,12 @@ namespace Aws typedef std::future CompleteLayerUploadOutcomeCallable; typedef std::future CreatePullThroughCacheRuleOutcomeCallable; typedef std::future CreateRepositoryOutcomeCallable; + typedef std::future CreateRepositoryCreationTemplateOutcomeCallable; typedef std::future DeleteLifecyclePolicyOutcomeCallable; typedef std::future DeletePullThroughCacheRuleOutcomeCallable; typedef std::future DeleteRegistryPolicyOutcomeCallable; typedef std::future DeleteRepositoryOutcomeCallable; + typedef std::future DeleteRepositoryCreationTemplateOutcomeCallable; typedef std::future DeleteRepositoryPolicyOutcomeCallable; typedef std::future DescribeImageReplicationStatusOutcomeCallable; typedef std::future DescribeImageScanFindingsOutcomeCallable; @@ -219,6 +234,7 @@ namespace Aws typedef std::future DescribePullThroughCacheRulesOutcomeCallable; typedef std::future DescribeRegistryOutcomeCallable; typedef std::future DescribeRepositoriesOutcomeCallable; + typedef std::future DescribeRepositoryCreationTemplatesOutcomeCallable; typedef std::future GetAuthorizationTokenOutcomeCallable; typedef std::future GetDownloadUrlForLayerOutcomeCallable; typedef std::future GetLifecyclePolicyOutcomeCallable; @@ -242,6 +258,7 @@ namespace Aws typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdatePullThroughCacheRuleOutcomeCallable; + typedef std::future UpdateRepositoryCreationTemplateOutcomeCallable; typedef std::future UploadLayerPartOutcomeCallable; typedef std::future ValidatePullThroughCacheRuleOutcomeCallable; /* End of service model Outcome callable definitions */ @@ -257,10 +274,12 @@ namespace Aws typedef std::function&) > CompleteLayerUploadResponseReceivedHandler; typedef std::function&) > CreatePullThroughCacheRuleResponseReceivedHandler; typedef std::function&) > CreateRepositoryResponseReceivedHandler; + typedef std::function&) > CreateRepositoryCreationTemplateResponseReceivedHandler; typedef std::function&) > DeleteLifecyclePolicyResponseReceivedHandler; typedef std::function&) > DeletePullThroughCacheRuleResponseReceivedHandler; typedef std::function&) > DeleteRegistryPolicyResponseReceivedHandler; typedef std::function&) > DeleteRepositoryResponseReceivedHandler; + typedef std::function&) > DeleteRepositoryCreationTemplateResponseReceivedHandler; typedef std::function&) > DeleteRepositoryPolicyResponseReceivedHandler; typedef std::function&) > DescribeImageReplicationStatusResponseReceivedHandler; typedef std::function&) > DescribeImageScanFindingsResponseReceivedHandler; @@ -268,6 +287,7 @@ namespace Aws typedef std::function&) > DescribePullThroughCacheRulesResponseReceivedHandler; typedef std::function&) > DescribeRegistryResponseReceivedHandler; typedef std::function&) > DescribeRepositoriesResponseReceivedHandler; + typedef std::function&) > DescribeRepositoryCreationTemplatesResponseReceivedHandler; typedef std::function&) > GetAuthorizationTokenResponseReceivedHandler; typedef std::function&) > GetDownloadUrlForLayerResponseReceivedHandler; typedef std::function&) > GetLifecyclePolicyResponseReceivedHandler; @@ -291,6 +311,7 @@ namespace Aws typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdatePullThroughCacheRuleResponseReceivedHandler; + typedef std::function&) > UpdateRepositoryCreationTemplateResponseReceivedHandler; typedef std::function&) > UploadLayerPartResponseReceivedHandler; typedef std::function&) > ValidatePullThroughCacheRuleResponseReceivedHandler; /* End of service model async handlers definitions */ diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/CreatePullThroughCacheRuleRequest.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/CreatePullThroughCacheRuleRequest.h index 4ab458bcb10..1906775d238 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/CreatePullThroughCacheRuleRequest.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/CreatePullThroughCacheRuleRequest.h @@ -62,9 +62,7 @@ namespace Model * Container Registry (github-container-registry) - * ghcr.io

  • Microsoft Azure Container Registry * (azure-container-registry) - <custom>.azurecr.io - *

  • GitLab Container Registry - * (gitlab-container-registry) - registry.gitlab.com

    - *
  • + *

    */ inline const Aws::String& GetUpstreamRegistryUrl() const{ return m_upstreamRegistryUrl; } inline bool UpstreamRegistryUrlHasBeenSet() const { return m_upstreamRegistryUrlHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/CreateRepositoryCreationTemplateRequest.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/CreateRepositoryCreationTemplateRequest.h new file mode 100644 index 00000000000..c21b2be2a77 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/CreateRepositoryCreationTemplateRequest.h @@ -0,0 +1,220 @@ +/** + * 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 ECR +{ +namespace Model +{ + + /** + */ + class CreateRepositoryCreationTemplateRequest : public ECRRequest + { + public: + AWS_ECR_API CreateRepositoryCreationTemplateRequest(); + + // 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 "CreateRepositoryCreationTemplate"; } + + AWS_ECR_API Aws::String SerializePayload() const override; + + AWS_ECR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The repository namespace prefix to associate with the template. All + * repositories created using this namespace prefix will have the settings defined + * in this template applied. For example, a prefix of prod would apply + * to all repositories beginning with prod/. Similarly, a prefix of + * prod/team would apply to all repositories beginning with + * prod/team/.

    To apply a template to all repositories in your + * registry that don't have an associated creation template, you can use + * ROOT as the prefix.

    There is always an assumed + * / applied to the end of the prefix. If you specify + * ecr-public as the prefix, Amazon ECR treats that as + * ecr-public/. When using a pull through cache rule, the repository + * prefix you specify during rule creation is what you should specify as your + * repository creation template prefix as well.

    + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + inline CreateRepositoryCreationTemplateRequest& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + inline CreateRepositoryCreationTemplateRequest& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + inline CreateRepositoryCreationTemplateRequest& WithPrefix(const char* value) { SetPrefix(value); return *this;} + ///@} + + ///@{ + /** + *

    A description for the repository creation template.

    + */ + 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 CreateRepositoryCreationTemplateRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline CreateRepositoryCreationTemplateRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline CreateRepositoryCreationTemplateRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

    The encryption configuration to use for repositories created using the + * template.

    + */ + inline const EncryptionConfigurationForRepositoryCreationTemplate& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } + inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } + inline void SetEncryptionConfiguration(const EncryptionConfigurationForRepositoryCreationTemplate& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } + inline void SetEncryptionConfiguration(EncryptionConfigurationForRepositoryCreationTemplate&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } + inline CreateRepositoryCreationTemplateRequest& WithEncryptionConfiguration(const EncryptionConfigurationForRepositoryCreationTemplate& value) { SetEncryptionConfiguration(value); return *this;} + inline CreateRepositoryCreationTemplateRequest& WithEncryptionConfiguration(EncryptionConfigurationForRepositoryCreationTemplate&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The metadata to apply to the repository to help you categorize and organize. + * Each tag consists of a key and an optional value, both of which you define. Tag + * keys can have a maximum character length of 128 characters, and tag values can + * have a maximum length of 256 characters.

    + */ + 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 CreateRepositoryCreationTemplateRequest& WithResourceTags(const Aws::Vector& value) { SetResourceTags(value); return *this;} + inline CreateRepositoryCreationTemplateRequest& WithResourceTags(Aws::Vector&& value) { SetResourceTags(std::move(value)); return *this;} + inline CreateRepositoryCreationTemplateRequest& AddResourceTags(const Tag& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(value); return *this; } + inline CreateRepositoryCreationTemplateRequest& AddResourceTags(Tag&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The tag mutability setting for the repository. If this parameter is omitted, + * the default setting of MUTABLE will be used which will allow image + * tags to be overwritten. If IMMUTABLE is specified, all image tags + * within the repository will be immutable which will prevent them from being + * overwritten.

    + */ + inline const ImageTagMutability& GetImageTagMutability() const{ return m_imageTagMutability; } + inline bool ImageTagMutabilityHasBeenSet() const { return m_imageTagMutabilityHasBeenSet; } + inline void SetImageTagMutability(const ImageTagMutability& value) { m_imageTagMutabilityHasBeenSet = true; m_imageTagMutability = value; } + inline void SetImageTagMutability(ImageTagMutability&& value) { m_imageTagMutabilityHasBeenSet = true; m_imageTagMutability = std::move(value); } + inline CreateRepositoryCreationTemplateRequest& WithImageTagMutability(const ImageTagMutability& value) { SetImageTagMutability(value); return *this;} + inline CreateRepositoryCreationTemplateRequest& WithImageTagMutability(ImageTagMutability&& value) { SetImageTagMutability(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The repository policy to apply to repositories created using the template. A + * repository policy is a permissions policy associated with a repository to + * control access permissions.

    + */ + inline const Aws::String& GetRepositoryPolicy() const{ return m_repositoryPolicy; } + inline bool RepositoryPolicyHasBeenSet() const { return m_repositoryPolicyHasBeenSet; } + inline void SetRepositoryPolicy(const Aws::String& value) { m_repositoryPolicyHasBeenSet = true; m_repositoryPolicy = value; } + inline void SetRepositoryPolicy(Aws::String&& value) { m_repositoryPolicyHasBeenSet = true; m_repositoryPolicy = std::move(value); } + inline void SetRepositoryPolicy(const char* value) { m_repositoryPolicyHasBeenSet = true; m_repositoryPolicy.assign(value); } + inline CreateRepositoryCreationTemplateRequest& WithRepositoryPolicy(const Aws::String& value) { SetRepositoryPolicy(value); return *this;} + inline CreateRepositoryCreationTemplateRequest& WithRepositoryPolicy(Aws::String&& value) { SetRepositoryPolicy(std::move(value)); return *this;} + inline CreateRepositoryCreationTemplateRequest& WithRepositoryPolicy(const char* value) { SetRepositoryPolicy(value); return *this;} + ///@} + + ///@{ + /** + *

    The lifecycle policy to use for repositories created using the template.

    + */ + inline const Aws::String& GetLifecyclePolicy() const{ return m_lifecyclePolicy; } + inline bool LifecyclePolicyHasBeenSet() const { return m_lifecyclePolicyHasBeenSet; } + inline void SetLifecyclePolicy(const Aws::String& value) { m_lifecyclePolicyHasBeenSet = true; m_lifecyclePolicy = value; } + inline void SetLifecyclePolicy(Aws::String&& value) { m_lifecyclePolicyHasBeenSet = true; m_lifecyclePolicy = std::move(value); } + inline void SetLifecyclePolicy(const char* value) { m_lifecyclePolicyHasBeenSet = true; m_lifecyclePolicy.assign(value); } + inline CreateRepositoryCreationTemplateRequest& WithLifecyclePolicy(const Aws::String& value) { SetLifecyclePolicy(value); return *this;} + inline CreateRepositoryCreationTemplateRequest& WithLifecyclePolicy(Aws::String&& value) { SetLifecyclePolicy(std::move(value)); return *this;} + inline CreateRepositoryCreationTemplateRequest& WithLifecyclePolicy(const char* value) { SetLifecyclePolicy(value); return *this;} + ///@} + + ///@{ + /** + *

    A list of enumerable strings representing the Amazon ECR repository creation + * scenarios that this template will apply towards. The two supported scenarios are + * PULL_THROUGH_CACHE and REPLICATION

    + */ + inline const Aws::Vector& GetAppliedFor() const{ return m_appliedFor; } + inline bool AppliedForHasBeenSet() const { return m_appliedForHasBeenSet; } + inline void SetAppliedFor(const Aws::Vector& value) { m_appliedForHasBeenSet = true; m_appliedFor = value; } + inline void SetAppliedFor(Aws::Vector&& value) { m_appliedForHasBeenSet = true; m_appliedFor = std::move(value); } + inline CreateRepositoryCreationTemplateRequest& WithAppliedFor(const Aws::Vector& value) { SetAppliedFor(value); return *this;} + inline CreateRepositoryCreationTemplateRequest& WithAppliedFor(Aws::Vector&& value) { SetAppliedFor(std::move(value)); return *this;} + inline CreateRepositoryCreationTemplateRequest& AddAppliedFor(const RCTAppliedFor& value) { m_appliedForHasBeenSet = true; m_appliedFor.push_back(value); return *this; } + inline CreateRepositoryCreationTemplateRequest& AddAppliedFor(RCTAppliedFor&& value) { m_appliedForHasBeenSet = true; m_appliedFor.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The ARN of the role to be assumed by Amazon ECR. This role must be in the + * same account as the registry that you are configuring.

    + */ + inline const Aws::String& GetCustomRoleArn() const{ return m_customRoleArn; } + inline bool CustomRoleArnHasBeenSet() const { return m_customRoleArnHasBeenSet; } + inline void SetCustomRoleArn(const Aws::String& value) { m_customRoleArnHasBeenSet = true; m_customRoleArn = value; } + inline void SetCustomRoleArn(Aws::String&& value) { m_customRoleArnHasBeenSet = true; m_customRoleArn = std::move(value); } + inline void SetCustomRoleArn(const char* value) { m_customRoleArnHasBeenSet = true; m_customRoleArn.assign(value); } + inline CreateRepositoryCreationTemplateRequest& WithCustomRoleArn(const Aws::String& value) { SetCustomRoleArn(value); return *this;} + inline CreateRepositoryCreationTemplateRequest& WithCustomRoleArn(Aws::String&& value) { SetCustomRoleArn(std::move(value)); return *this;} + inline CreateRepositoryCreationTemplateRequest& WithCustomRoleArn(const char* value) { SetCustomRoleArn(value); return *this;} + ///@} + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + EncryptionConfigurationForRepositoryCreationTemplate m_encryptionConfiguration; + bool m_encryptionConfigurationHasBeenSet = false; + + Aws::Vector m_resourceTags; + bool m_resourceTagsHasBeenSet = false; + + ImageTagMutability m_imageTagMutability; + bool m_imageTagMutabilityHasBeenSet = false; + + Aws::String m_repositoryPolicy; + bool m_repositoryPolicyHasBeenSet = false; + + Aws::String m_lifecyclePolicy; + bool m_lifecyclePolicyHasBeenSet = false; + + Aws::Vector m_appliedFor; + bool m_appliedForHasBeenSet = false; + + Aws::String m_customRoleArn; + bool m_customRoleArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/CreateRepositoryCreationTemplateResult.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/CreateRepositoryCreationTemplateResult.h new file mode 100644 index 00000000000..d10399bffba --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/CreateRepositoryCreationTemplateResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ECR +{ +namespace Model +{ + class CreateRepositoryCreationTemplateResult + { + public: + AWS_ECR_API CreateRepositoryCreationTemplateResult(); + AWS_ECR_API CreateRepositoryCreationTemplateResult(const Aws::AmazonWebServiceResult& result); + AWS_ECR_API CreateRepositoryCreationTemplateResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The registry ID associated with the request.

    + */ + inline const Aws::String& GetRegistryId() const{ return m_registryId; } + inline void SetRegistryId(const Aws::String& value) { m_registryId = value; } + inline void SetRegistryId(Aws::String&& value) { m_registryId = std::move(value); } + inline void SetRegistryId(const char* value) { m_registryId.assign(value); } + inline CreateRepositoryCreationTemplateResult& WithRegistryId(const Aws::String& value) { SetRegistryId(value); return *this;} + inline CreateRepositoryCreationTemplateResult& WithRegistryId(Aws::String&& value) { SetRegistryId(std::move(value)); return *this;} + inline CreateRepositoryCreationTemplateResult& WithRegistryId(const char* value) { SetRegistryId(value); return *this;} + ///@} + + ///@{ + /** + *

    The details of the repository creation template associated with the + * request.

    + */ + inline const RepositoryCreationTemplate& GetRepositoryCreationTemplate() const{ return m_repositoryCreationTemplate; } + inline void SetRepositoryCreationTemplate(const RepositoryCreationTemplate& value) { m_repositoryCreationTemplate = value; } + inline void SetRepositoryCreationTemplate(RepositoryCreationTemplate&& value) { m_repositoryCreationTemplate = std::move(value); } + inline CreateRepositoryCreationTemplateResult& WithRepositoryCreationTemplate(const RepositoryCreationTemplate& value) { SetRepositoryCreationTemplate(value); return *this;} + inline CreateRepositoryCreationTemplateResult& WithRepositoryCreationTemplate(RepositoryCreationTemplate&& value) { SetRepositoryCreationTemplate(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 CreateRepositoryCreationTemplateResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateRepositoryCreationTemplateResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateRepositoryCreationTemplateResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_registryId; + + RepositoryCreationTemplate m_repositoryCreationTemplate; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DeleteRepositoryCreationTemplateRequest.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DeleteRepositoryCreationTemplateRequest.h new file mode 100644 index 00000000000..40908fcee50 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DeleteRepositoryCreationTemplateRequest.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 ECR +{ +namespace Model +{ + + /** + */ + class DeleteRepositoryCreationTemplateRequest : public ECRRequest + { + public: + AWS_ECR_API DeleteRepositoryCreationTemplateRequest(); + + // 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 "DeleteRepositoryCreationTemplate"; } + + AWS_ECR_API Aws::String SerializePayload() const override; + + AWS_ECR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The repository namespace prefix associated with the repository creation + * template.

    + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + inline DeleteRepositoryCreationTemplateRequest& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + inline DeleteRepositoryCreationTemplateRequest& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + inline DeleteRepositoryCreationTemplateRequest& WithPrefix(const char* value) { SetPrefix(value); return *this;} + ///@} + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DeleteRepositoryCreationTemplateResult.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DeleteRepositoryCreationTemplateResult.h new file mode 100644 index 00000000000..9297ac9f63a --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DeleteRepositoryCreationTemplateResult.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 ECR +{ +namespace Model +{ + class DeleteRepositoryCreationTemplateResult + { + public: + AWS_ECR_API DeleteRepositoryCreationTemplateResult(); + AWS_ECR_API DeleteRepositoryCreationTemplateResult(const Aws::AmazonWebServiceResult& result); + AWS_ECR_API DeleteRepositoryCreationTemplateResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The registry ID associated with the request.

    + */ + inline const Aws::String& GetRegistryId() const{ return m_registryId; } + inline void SetRegistryId(const Aws::String& value) { m_registryId = value; } + inline void SetRegistryId(Aws::String&& value) { m_registryId = std::move(value); } + inline void SetRegistryId(const char* value) { m_registryId.assign(value); } + inline DeleteRepositoryCreationTemplateResult& WithRegistryId(const Aws::String& value) { SetRegistryId(value); return *this;} + inline DeleteRepositoryCreationTemplateResult& WithRegistryId(Aws::String&& value) { SetRegistryId(std::move(value)); return *this;} + inline DeleteRepositoryCreationTemplateResult& WithRegistryId(const char* value) { SetRegistryId(value); return *this;} + ///@} + + ///@{ + /** + *

    The details of the repository creation template that was deleted.

    + */ + inline const RepositoryCreationTemplate& GetRepositoryCreationTemplate() const{ return m_repositoryCreationTemplate; } + inline void SetRepositoryCreationTemplate(const RepositoryCreationTemplate& value) { m_repositoryCreationTemplate = value; } + inline void SetRepositoryCreationTemplate(RepositoryCreationTemplate&& value) { m_repositoryCreationTemplate = std::move(value); } + inline DeleteRepositoryCreationTemplateResult& WithRepositoryCreationTemplate(const RepositoryCreationTemplate& value) { SetRepositoryCreationTemplate(value); return *this;} + inline DeleteRepositoryCreationTemplateResult& WithRepositoryCreationTemplate(RepositoryCreationTemplate&& value) { SetRepositoryCreationTemplate(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 DeleteRepositoryCreationTemplateResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteRepositoryCreationTemplateResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteRepositoryCreationTemplateResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_registryId; + + RepositoryCreationTemplate m_repositoryCreationTemplate; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DescribeRegistryResult.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DescribeRegistryResult.h index ae470db7069..c7ac3b4229b 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DescribeRegistryResult.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DescribeRegistryResult.h @@ -35,7 +35,7 @@ namespace Model ///@{ /** - *

    The ID of the registry.

    + *

    The registry ID associated with the request.

    */ inline const Aws::String& GetRegistryId() const{ return m_registryId; } inline void SetRegistryId(const Aws::String& value) { m_registryId = value; } diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DescribeRepositoryCreationTemplatesRequest.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DescribeRepositoryCreationTemplatesRequest.h new file mode 100644 index 00000000000..edd7c011479 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DescribeRepositoryCreationTemplatesRequest.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 + +namespace Aws +{ +namespace ECR +{ +namespace Model +{ + + /** + */ + class DescribeRepositoryCreationTemplatesRequest : public ECRRequest + { + public: + AWS_ECR_API DescribeRepositoryCreationTemplatesRequest(); + + // 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 "DescribeRepositoryCreationTemplates"; } + + AWS_ECR_API Aws::String SerializePayload() const override; + + AWS_ECR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The repository namespace prefixes associated with the repository creation + * templates to describe. If this value is not specified, all repository creation + * templates are returned.

    + */ + inline const Aws::Vector& GetPrefixes() const{ return m_prefixes; } + inline bool PrefixesHasBeenSet() const { return m_prefixesHasBeenSet; } + inline void SetPrefixes(const Aws::Vector& value) { m_prefixesHasBeenSet = true; m_prefixes = value; } + inline void SetPrefixes(Aws::Vector&& value) { m_prefixesHasBeenSet = true; m_prefixes = std::move(value); } + inline DescribeRepositoryCreationTemplatesRequest& WithPrefixes(const Aws::Vector& value) { SetPrefixes(value); return *this;} + inline DescribeRepositoryCreationTemplatesRequest& WithPrefixes(Aws::Vector&& value) { SetPrefixes(std::move(value)); return *this;} + inline DescribeRepositoryCreationTemplatesRequest& AddPrefixes(const Aws::String& value) { m_prefixesHasBeenSet = true; m_prefixes.push_back(value); return *this; } + inline DescribeRepositoryCreationTemplatesRequest& AddPrefixes(Aws::String&& value) { m_prefixesHasBeenSet = true; m_prefixes.push_back(std::move(value)); return *this; } + inline DescribeRepositoryCreationTemplatesRequest& AddPrefixes(const char* value) { m_prefixesHasBeenSet = true; m_prefixes.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

    The nextToken value returned from a previous paginated + * DescribeRepositoryCreationTemplates request where + * maxResults was used and the results exceeded the value of that + * parameter. Pagination continues from the end of the previous results that + * returned the nextToken value. This value is null when + * there are no more results to return.

    This token should be treated + * as an opaque identifier that is only used to retrieve the next items in a list + * and not for other programmatic purposes.

    + */ + 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 DescribeRepositoryCreationTemplatesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline DescribeRepositoryCreationTemplatesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline DescribeRepositoryCreationTemplatesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of repository results returned by + * DescribeRepositoryCreationTemplatesRequest in paginated output. + * When this parameter is used, + * DescribeRepositoryCreationTemplatesRequest only returns + * maxResults results in a single page along with a + * nextToken response element. The remaining results of the initial + * request can be seen by sending another + * DescribeRepositoryCreationTemplatesRequest request with the + * returned nextToken value. This value can be between 1 and 1000. If + * this parameter is not used, then + * DescribeRepositoryCreationTemplatesRequest returns up to 100 + * results and a nextToken value, if applicable.

    + */ + 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 DescribeRepositoryCreationTemplatesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::Vector m_prefixes; + bool m_prefixesHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DescribeRepositoryCreationTemplatesResult.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DescribeRepositoryCreationTemplatesResult.h new file mode 100644 index 00000000000..3ab7c59ebab --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/DescribeRepositoryCreationTemplatesResult.h @@ -0,0 +1,104 @@ +/** + * 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 ECR +{ +namespace Model +{ + class DescribeRepositoryCreationTemplatesResult + { + public: + AWS_ECR_API DescribeRepositoryCreationTemplatesResult(); + AWS_ECR_API DescribeRepositoryCreationTemplatesResult(const Aws::AmazonWebServiceResult& result); + AWS_ECR_API DescribeRepositoryCreationTemplatesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The registry ID associated with the request.

    + */ + inline const Aws::String& GetRegistryId() const{ return m_registryId; } + inline void SetRegistryId(const Aws::String& value) { m_registryId = value; } + inline void SetRegistryId(Aws::String&& value) { m_registryId = std::move(value); } + inline void SetRegistryId(const char* value) { m_registryId.assign(value); } + inline DescribeRepositoryCreationTemplatesResult& WithRegistryId(const Aws::String& value) { SetRegistryId(value); return *this;} + inline DescribeRepositoryCreationTemplatesResult& WithRegistryId(Aws::String&& value) { SetRegistryId(std::move(value)); return *this;} + inline DescribeRepositoryCreationTemplatesResult& WithRegistryId(const char* value) { SetRegistryId(value); return *this;} + ///@} + + ///@{ + /** + *

    The details of the repository creation templates.

    + */ + inline const Aws::Vector& GetRepositoryCreationTemplates() const{ return m_repositoryCreationTemplates; } + inline void SetRepositoryCreationTemplates(const Aws::Vector& value) { m_repositoryCreationTemplates = value; } + inline void SetRepositoryCreationTemplates(Aws::Vector&& value) { m_repositoryCreationTemplates = std::move(value); } + inline DescribeRepositoryCreationTemplatesResult& WithRepositoryCreationTemplates(const Aws::Vector& value) { SetRepositoryCreationTemplates(value); return *this;} + inline DescribeRepositoryCreationTemplatesResult& WithRepositoryCreationTemplates(Aws::Vector&& value) { SetRepositoryCreationTemplates(std::move(value)); return *this;} + inline DescribeRepositoryCreationTemplatesResult& AddRepositoryCreationTemplates(const RepositoryCreationTemplate& value) { m_repositoryCreationTemplates.push_back(value); return *this; } + inline DescribeRepositoryCreationTemplatesResult& AddRepositoryCreationTemplates(RepositoryCreationTemplate&& value) { m_repositoryCreationTemplates.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The nextToken value to include in a future + * DescribeRepositoryCreationTemplates request. When the results of a + * DescribeRepositoryCreationTemplates request exceed + * maxResults, this value can be used to retrieve the next page of + * results. This value is null when there are no more results to + * return.

    + */ + 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 DescribeRepositoryCreationTemplatesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline DescribeRepositoryCreationTemplatesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline DescribeRepositoryCreationTemplatesResult& 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 DescribeRepositoryCreationTemplatesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DescribeRepositoryCreationTemplatesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DescribeRepositoryCreationTemplatesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_registryId; + + Aws::Vector m_repositoryCreationTemplates; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/EncryptionConfiguration.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/EncryptionConfiguration.h index ad099bf297f..9704acb65a3 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/EncryptionConfiguration.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/EncryptionConfiguration.h @@ -29,8 +29,8 @@ namespace Model * contents of your repository are encrypted at rest.

    By default, when no * encryption configuration is set or the AES256 encryption type is * used, Amazon ECR uses server-side encryption with Amazon S3-managed encryption - * keys which encrypts your data at rest using an AES-256 encryption algorithm. - * This does not require any action on your part.

    For more control over the + * keys which encrypts your data at rest using an AES256 encryption algorithm. This + * does not require any action on your part.

    For more control over the * encryption of the contents of your repository, you can use server-side * encryption with Key Management Service key stored in Key Management Service * (KMS) to encrypt your images. For more information, see in the Amazon Simple Storage Service Console Developer * Guide.

    If you use the AES256 encryption type, Amazon ECR * uses server-side encryption with Amazon S3-managed encryption keys which - * encrypts the images in the repository using an AES-256 encryption algorithm. For + * encrypts the images in the repository using an AES256 encryption algorithm. For * more information, see Protecting * data using server-side encryption with Amazon S3-managed encryption keys diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/EncryptionConfigurationForRepositoryCreationTemplate.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/EncryptionConfigurationForRepositoryCreationTemplate.h new file mode 100644 index 00000000000..4175ad48ed3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/EncryptionConfigurationForRepositoryCreationTemplate.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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ECR +{ +namespace Model +{ + + /** + *

    The encryption configuration to associate with the repository creation + * template.

    See Also:

    AWS + * API Reference

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

    The encryption type to use.

    If you use the KMS encryption + * type, the contents of the repository will be encrypted using server-side + * encryption with Key Management Service key stored in KMS. When you use KMS to + * encrypt your data, you can either use the default Amazon Web Services managed + * KMS key for Amazon ECR, or specify your own KMS key, which you already created. + * For more information, see Protecting + * data using server-side encryption with an KMS key stored in Key Management + * Service (SSE-KMS) in the Amazon Simple Storage Service Console Developer + * Guide.

    If you use the AES256 encryption type, Amazon ECR + * uses server-side encryption with Amazon S3-managed encryption keys which + * encrypts the images in the repository using an AES256 encryption algorithm. For + * more information, see Protecting + * data using server-side encryption with Amazon S3-managed encryption keys + * (SSE-S3) in the Amazon Simple Storage Service Console Developer + * Guide.

    + */ + inline const EncryptionType& GetEncryptionType() const{ return m_encryptionType; } + inline bool EncryptionTypeHasBeenSet() const { return m_encryptionTypeHasBeenSet; } + inline void SetEncryptionType(const EncryptionType& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = value; } + inline void SetEncryptionType(EncryptionType&& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = std::move(value); } + inline EncryptionConfigurationForRepositoryCreationTemplate& WithEncryptionType(const EncryptionType& value) { SetEncryptionType(value); return *this;} + inline EncryptionConfigurationForRepositoryCreationTemplate& WithEncryptionType(EncryptionType&& value) { SetEncryptionType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    If you use the KMS encryption type, specify the KMS key to use + * for encryption. The full ARN of the KMS key must be specified. The key must + * exist in the same Region as the repository. If no key is specified, the default + * Amazon Web Services managed KMS key for Amazon ECR will be used.

    + */ + inline const Aws::String& GetKmsKey() const{ return m_kmsKey; } + inline bool KmsKeyHasBeenSet() const { return m_kmsKeyHasBeenSet; } + inline void SetKmsKey(const Aws::String& value) { m_kmsKeyHasBeenSet = true; m_kmsKey = value; } + inline void SetKmsKey(Aws::String&& value) { m_kmsKeyHasBeenSet = true; m_kmsKey = std::move(value); } + inline void SetKmsKey(const char* value) { m_kmsKeyHasBeenSet = true; m_kmsKey.assign(value); } + inline EncryptionConfigurationForRepositoryCreationTemplate& WithKmsKey(const Aws::String& value) { SetKmsKey(value); return *this;} + inline EncryptionConfigurationForRepositoryCreationTemplate& WithKmsKey(Aws::String&& value) { SetKmsKey(std::move(value)); return *this;} + inline EncryptionConfigurationForRepositoryCreationTemplate& WithKmsKey(const char* value) { SetKmsKey(value); return *this;} + ///@} + private: + + EncryptionType m_encryptionType; + bool m_encryptionTypeHasBeenSet = false; + + Aws::String m_kmsKey; + bool m_kmsKeyHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetRegistryPolicyResult.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetRegistryPolicyResult.h index b69e5a7cbd1..a4007fdc113 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetRegistryPolicyResult.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetRegistryPolicyResult.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

    The ID of the registry.

    + *

    The registry ID associated with the request.

    */ inline const Aws::String& GetRegistryId() const{ return m_registryId; } inline void SetRegistryId(const Aws::String& value) { m_registryId = value; } diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetRegistryScanningConfigurationResult.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetRegistryScanningConfigurationResult.h index e239562ca17..2ffd92acef6 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetRegistryScanningConfigurationResult.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetRegistryScanningConfigurationResult.h @@ -35,7 +35,7 @@ namespace Model ///@{ /** - *

    The ID of the registry.

    + *

    The registry ID associated with the request.

    */ inline const Aws::String& GetRegistryId() const{ return m_registryId; } inline void SetRegistryId(const Aws::String& value) { m_registryId = value; } diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/PutRegistryPolicyResult.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/PutRegistryPolicyResult.h index fb4e4f3139d..aaa7a706eb3 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/PutRegistryPolicyResult.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/PutRegistryPolicyResult.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

    The registry ID.

    + *

    The registry ID associated with the request.

    */ inline const Aws::String& GetRegistryId() const{ return m_registryId; } inline void SetRegistryId(const Aws::String& value) { m_registryId = value; } diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/RCTAppliedFor.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/RCTAppliedFor.h new file mode 100644 index 00000000000..d8e9eb4f77e --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/RCTAppliedFor.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 ECR +{ +namespace Model +{ + enum class RCTAppliedFor + { + NOT_SET, + REPLICATION, + PULL_THROUGH_CACHE + }; + +namespace RCTAppliedForMapper +{ +AWS_ECR_API RCTAppliedFor GetRCTAppliedForForName(const Aws::String& name); + +AWS_ECR_API Aws::String GetNameForRCTAppliedFor(RCTAppliedFor value); +} // namespace RCTAppliedForMapper +} // namespace Model +} // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/RepositoryCreationTemplate.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/RepositoryCreationTemplate.h new file mode 100644 index 00000000000..a6231e87ade --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/RepositoryCreationTemplate.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ECR +{ +namespace Model +{ + + /** + *

    The details of the repository creation template associated with the + * request.

    See Also:

    AWS + * API Reference

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

    The repository namespace prefix associated with the repository creation + * template.

    + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + inline RepositoryCreationTemplate& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + inline RepositoryCreationTemplate& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + inline RepositoryCreationTemplate& WithPrefix(const char* value) { SetPrefix(value); return *this;} + ///@} + + ///@{ + /** + *

    The description associated with the repository creation template.

    + */ + 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 RepositoryCreationTemplate& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline RepositoryCreationTemplate& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline RepositoryCreationTemplate& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

    The encryption configuration associated with the repository creation + * template.

    + */ + inline const EncryptionConfigurationForRepositoryCreationTemplate& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } + inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } + inline void SetEncryptionConfiguration(const EncryptionConfigurationForRepositoryCreationTemplate& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } + inline void SetEncryptionConfiguration(EncryptionConfigurationForRepositoryCreationTemplate&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } + inline RepositoryCreationTemplate& WithEncryptionConfiguration(const EncryptionConfigurationForRepositoryCreationTemplate& value) { SetEncryptionConfiguration(value); return *this;} + inline RepositoryCreationTemplate& WithEncryptionConfiguration(EncryptionConfigurationForRepositoryCreationTemplate&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The metadata to apply to the repository to help you categorize and organize. + * Each tag consists of a key and an optional value, both of which you define. Tag + * keys can have a maximum character length of 128 characters, and tag values can + * have a maximum length of 256 characters.

    + */ + 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 RepositoryCreationTemplate& WithResourceTags(const Aws::Vector& value) { SetResourceTags(value); return *this;} + inline RepositoryCreationTemplate& WithResourceTags(Aws::Vector&& value) { SetResourceTags(std::move(value)); return *this;} + inline RepositoryCreationTemplate& AddResourceTags(const Tag& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(value); return *this; } + inline RepositoryCreationTemplate& AddResourceTags(Tag&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The tag mutability setting for the repository. If this parameter is omitted, + * the default setting of MUTABLE will be used which will allow image tags to be + * overwritten. If IMMUTABLE is specified, all image tags within the repository + * will be immutable which will prevent them from being overwritten.

    + */ + inline const ImageTagMutability& GetImageTagMutability() const{ return m_imageTagMutability; } + inline bool ImageTagMutabilityHasBeenSet() const { return m_imageTagMutabilityHasBeenSet; } + inline void SetImageTagMutability(const ImageTagMutability& value) { m_imageTagMutabilityHasBeenSet = true; m_imageTagMutability = value; } + inline void SetImageTagMutability(ImageTagMutability&& value) { m_imageTagMutabilityHasBeenSet = true; m_imageTagMutability = std::move(value); } + inline RepositoryCreationTemplate& WithImageTagMutability(const ImageTagMutability& value) { SetImageTagMutability(value); return *this;} + inline RepositoryCreationTemplate& WithImageTagMutability(ImageTagMutability&& value) { SetImageTagMutability(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    he repository policy to apply to repositories created using the template. A + * repository policy is a permissions policy associated with a repository to + * control access permissions.

    + */ + inline const Aws::String& GetRepositoryPolicy() const{ return m_repositoryPolicy; } + inline bool RepositoryPolicyHasBeenSet() const { return m_repositoryPolicyHasBeenSet; } + inline void SetRepositoryPolicy(const Aws::String& value) { m_repositoryPolicyHasBeenSet = true; m_repositoryPolicy = value; } + inline void SetRepositoryPolicy(Aws::String&& value) { m_repositoryPolicyHasBeenSet = true; m_repositoryPolicy = std::move(value); } + inline void SetRepositoryPolicy(const char* value) { m_repositoryPolicyHasBeenSet = true; m_repositoryPolicy.assign(value); } + inline RepositoryCreationTemplate& WithRepositoryPolicy(const Aws::String& value) { SetRepositoryPolicy(value); return *this;} + inline RepositoryCreationTemplate& WithRepositoryPolicy(Aws::String&& value) { SetRepositoryPolicy(std::move(value)); return *this;} + inline RepositoryCreationTemplate& WithRepositoryPolicy(const char* value) { SetRepositoryPolicy(value); return *this;} + ///@} + + ///@{ + /** + *

    The lifecycle policy to use for repositories created using the template.

    + */ + inline const Aws::String& GetLifecyclePolicy() const{ return m_lifecyclePolicy; } + inline bool LifecyclePolicyHasBeenSet() const { return m_lifecyclePolicyHasBeenSet; } + inline void SetLifecyclePolicy(const Aws::String& value) { m_lifecyclePolicyHasBeenSet = true; m_lifecyclePolicy = value; } + inline void SetLifecyclePolicy(Aws::String&& value) { m_lifecyclePolicyHasBeenSet = true; m_lifecyclePolicy = std::move(value); } + inline void SetLifecyclePolicy(const char* value) { m_lifecyclePolicyHasBeenSet = true; m_lifecyclePolicy.assign(value); } + inline RepositoryCreationTemplate& WithLifecyclePolicy(const Aws::String& value) { SetLifecyclePolicy(value); return *this;} + inline RepositoryCreationTemplate& WithLifecyclePolicy(Aws::String&& value) { SetLifecyclePolicy(std::move(value)); return *this;} + inline RepositoryCreationTemplate& WithLifecyclePolicy(const char* value) { SetLifecyclePolicy(value); return *this;} + ///@} + + ///@{ + /** + *

    A list of enumerable Strings representing the repository creation scenarios + * that this template will apply towards. The two supported scenarios are + * PULL_THROUGH_CACHE and REPLICATION

    + */ + inline const Aws::Vector& GetAppliedFor() const{ return m_appliedFor; } + inline bool AppliedForHasBeenSet() const { return m_appliedForHasBeenSet; } + inline void SetAppliedFor(const Aws::Vector& value) { m_appliedForHasBeenSet = true; m_appliedFor = value; } + inline void SetAppliedFor(Aws::Vector&& value) { m_appliedForHasBeenSet = true; m_appliedFor = std::move(value); } + inline RepositoryCreationTemplate& WithAppliedFor(const Aws::Vector& value) { SetAppliedFor(value); return *this;} + inline RepositoryCreationTemplate& WithAppliedFor(Aws::Vector&& value) { SetAppliedFor(std::move(value)); return *this;} + inline RepositoryCreationTemplate& AddAppliedFor(const RCTAppliedFor& value) { m_appliedForHasBeenSet = true; m_appliedFor.push_back(value); return *this; } + inline RepositoryCreationTemplate& AddAppliedFor(RCTAppliedFor&& value) { m_appliedForHasBeenSet = true; m_appliedFor.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The ARN of the role to be assumed by Amazon ECR.

    + */ + inline const Aws::String& GetCustomRoleArn() const{ return m_customRoleArn; } + inline bool CustomRoleArnHasBeenSet() const { return m_customRoleArnHasBeenSet; } + inline void SetCustomRoleArn(const Aws::String& value) { m_customRoleArnHasBeenSet = true; m_customRoleArn = value; } + inline void SetCustomRoleArn(Aws::String&& value) { m_customRoleArnHasBeenSet = true; m_customRoleArn = std::move(value); } + inline void SetCustomRoleArn(const char* value) { m_customRoleArnHasBeenSet = true; m_customRoleArn.assign(value); } + inline RepositoryCreationTemplate& WithCustomRoleArn(const Aws::String& value) { SetCustomRoleArn(value); return *this;} + inline RepositoryCreationTemplate& WithCustomRoleArn(Aws::String&& value) { SetCustomRoleArn(std::move(value)); return *this;} + inline RepositoryCreationTemplate& WithCustomRoleArn(const char* value) { SetCustomRoleArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The date and time, in JavaScript date format, when the repository creation + * template 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 RepositoryCreationTemplate& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline RepositoryCreationTemplate& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time, in JavaScript date format, when the repository creation + * template 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 RepositoryCreationTemplate& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} + inline RepositoryCreationTemplate& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + EncryptionConfigurationForRepositoryCreationTemplate m_encryptionConfiguration; + bool m_encryptionConfigurationHasBeenSet = false; + + Aws::Vector m_resourceTags; + bool m_resourceTagsHasBeenSet = false; + + ImageTagMutability m_imageTagMutability; + bool m_imageTagMutabilityHasBeenSet = false; + + Aws::String m_repositoryPolicy; + bool m_repositoryPolicyHasBeenSet = false; + + Aws::String m_lifecyclePolicy; + bool m_lifecyclePolicyHasBeenSet = false; + + Aws::Vector m_appliedFor; + bool m_appliedForHasBeenSet = false; + + Aws::String m_customRoleArn; + bool m_customRoleArnHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt; + bool m_updatedAtHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/UpdateRepositoryCreationTemplateRequest.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/UpdateRepositoryCreationTemplateRequest.h new file mode 100644 index 00000000000..5e3fa29fcdd --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/UpdateRepositoryCreationTemplateRequest.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 +#include +#include +#include + +namespace Aws +{ +namespace ECR +{ +namespace Model +{ + + /** + */ + class UpdateRepositoryCreationTemplateRequest : public ECRRequest + { + public: + AWS_ECR_API UpdateRepositoryCreationTemplateRequest(); + + // 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 "UpdateRepositoryCreationTemplate"; } + + AWS_ECR_API Aws::String SerializePayload() const override; + + AWS_ECR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The repository namespace prefix that matches an existing repository creation + * template in the registry. All repositories created using this namespace prefix + * will have the settings defined in this template applied. For example, a prefix + * of prod would apply to all repositories beginning with + * prod/. This includes a repository named prod/team1 as + * well as a repository named prod/repository1.

    To apply a + * template to all repositories in your registry that don't have an associated + * creation template, you can use ROOT as the prefix.

    + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + inline UpdateRepositoryCreationTemplateRequest& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + inline UpdateRepositoryCreationTemplateRequest& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + inline UpdateRepositoryCreationTemplateRequest& WithPrefix(const char* value) { SetPrefix(value); return *this;} + ///@} + + ///@{ + /** + *

    A description for the repository creation template.

    + */ + 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 UpdateRepositoryCreationTemplateRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline UpdateRepositoryCreationTemplateRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline UpdateRepositoryCreationTemplateRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + + inline const EncryptionConfigurationForRepositoryCreationTemplate& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } + inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } + inline void SetEncryptionConfiguration(const EncryptionConfigurationForRepositoryCreationTemplate& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } + inline void SetEncryptionConfiguration(EncryptionConfigurationForRepositoryCreationTemplate&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } + inline UpdateRepositoryCreationTemplateRequest& WithEncryptionConfiguration(const EncryptionConfigurationForRepositoryCreationTemplate& value) { SetEncryptionConfiguration(value); return *this;} + inline UpdateRepositoryCreationTemplateRequest& WithEncryptionConfiguration(EncryptionConfigurationForRepositoryCreationTemplate&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The metadata to apply to the repository to help you categorize and organize. + * Each tag consists of a key and an optional value, both of which you define. Tag + * keys can have a maximum character length of 128 characters, and tag values can + * have a maximum length of 256 characters.

    + */ + 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 UpdateRepositoryCreationTemplateRequest& WithResourceTags(const Aws::Vector& value) { SetResourceTags(value); return *this;} + inline UpdateRepositoryCreationTemplateRequest& WithResourceTags(Aws::Vector&& value) { SetResourceTags(std::move(value)); return *this;} + inline UpdateRepositoryCreationTemplateRequest& AddResourceTags(const Tag& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(value); return *this; } + inline UpdateRepositoryCreationTemplateRequest& AddResourceTags(Tag&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    Updates the tag mutability setting for the repository. If this parameter is + * omitted, the default setting of MUTABLE will be used which will + * allow image tags to be overwritten. If IMMUTABLE is specified, all + * image tags within the repository will be immutable which will prevent them from + * being overwritten.

    + */ + inline const ImageTagMutability& GetImageTagMutability() const{ return m_imageTagMutability; } + inline bool ImageTagMutabilityHasBeenSet() const { return m_imageTagMutabilityHasBeenSet; } + inline void SetImageTagMutability(const ImageTagMutability& value) { m_imageTagMutabilityHasBeenSet = true; m_imageTagMutability = value; } + inline void SetImageTagMutability(ImageTagMutability&& value) { m_imageTagMutabilityHasBeenSet = true; m_imageTagMutability = std::move(value); } + inline UpdateRepositoryCreationTemplateRequest& WithImageTagMutability(const ImageTagMutability& value) { SetImageTagMutability(value); return *this;} + inline UpdateRepositoryCreationTemplateRequest& WithImageTagMutability(ImageTagMutability&& value) { SetImageTagMutability(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Updates the repository policy created using the template. A repository policy + * is a permissions policy associated with a repository to control access + * permissions.

    + */ + inline const Aws::String& GetRepositoryPolicy() const{ return m_repositoryPolicy; } + inline bool RepositoryPolicyHasBeenSet() const { return m_repositoryPolicyHasBeenSet; } + inline void SetRepositoryPolicy(const Aws::String& value) { m_repositoryPolicyHasBeenSet = true; m_repositoryPolicy = value; } + inline void SetRepositoryPolicy(Aws::String&& value) { m_repositoryPolicyHasBeenSet = true; m_repositoryPolicy = std::move(value); } + inline void SetRepositoryPolicy(const char* value) { m_repositoryPolicyHasBeenSet = true; m_repositoryPolicy.assign(value); } + inline UpdateRepositoryCreationTemplateRequest& WithRepositoryPolicy(const Aws::String& value) { SetRepositoryPolicy(value); return *this;} + inline UpdateRepositoryCreationTemplateRequest& WithRepositoryPolicy(Aws::String&& value) { SetRepositoryPolicy(std::move(value)); return *this;} + inline UpdateRepositoryCreationTemplateRequest& WithRepositoryPolicy(const char* value) { SetRepositoryPolicy(value); return *this;} + ///@} + + ///@{ + /** + *

    Updates the lifecycle policy associated with the specified repository + * creation template.

    + */ + inline const Aws::String& GetLifecyclePolicy() const{ return m_lifecyclePolicy; } + inline bool LifecyclePolicyHasBeenSet() const { return m_lifecyclePolicyHasBeenSet; } + inline void SetLifecyclePolicy(const Aws::String& value) { m_lifecyclePolicyHasBeenSet = true; m_lifecyclePolicy = value; } + inline void SetLifecyclePolicy(Aws::String&& value) { m_lifecyclePolicyHasBeenSet = true; m_lifecyclePolicy = std::move(value); } + inline void SetLifecyclePolicy(const char* value) { m_lifecyclePolicyHasBeenSet = true; m_lifecyclePolicy.assign(value); } + inline UpdateRepositoryCreationTemplateRequest& WithLifecyclePolicy(const Aws::String& value) { SetLifecyclePolicy(value); return *this;} + inline UpdateRepositoryCreationTemplateRequest& WithLifecyclePolicy(Aws::String&& value) { SetLifecyclePolicy(std::move(value)); return *this;} + inline UpdateRepositoryCreationTemplateRequest& WithLifecyclePolicy(const char* value) { SetLifecyclePolicy(value); return *this;} + ///@} + + ///@{ + /** + *

    Updates the list of enumerable strings representing the Amazon ECR repository + * creation scenarios that this template will apply towards. The two supported + * scenarios are PULL_THROUGH_CACHE and REPLICATION

    + */ + inline const Aws::Vector& GetAppliedFor() const{ return m_appliedFor; } + inline bool AppliedForHasBeenSet() const { return m_appliedForHasBeenSet; } + inline void SetAppliedFor(const Aws::Vector& value) { m_appliedForHasBeenSet = true; m_appliedFor = value; } + inline void SetAppliedFor(Aws::Vector&& value) { m_appliedForHasBeenSet = true; m_appliedFor = std::move(value); } + inline UpdateRepositoryCreationTemplateRequest& WithAppliedFor(const Aws::Vector& value) { SetAppliedFor(value); return *this;} + inline UpdateRepositoryCreationTemplateRequest& WithAppliedFor(Aws::Vector&& value) { SetAppliedFor(std::move(value)); return *this;} + inline UpdateRepositoryCreationTemplateRequest& AddAppliedFor(const RCTAppliedFor& value) { m_appliedForHasBeenSet = true; m_appliedFor.push_back(value); return *this; } + inline UpdateRepositoryCreationTemplateRequest& AddAppliedFor(RCTAppliedFor&& value) { m_appliedForHasBeenSet = true; m_appliedFor.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The ARN of the role to be assumed by Amazon ECR. This role must be in the + * same account as the registry that you are configuring.

    + */ + inline const Aws::String& GetCustomRoleArn() const{ return m_customRoleArn; } + inline bool CustomRoleArnHasBeenSet() const { return m_customRoleArnHasBeenSet; } + inline void SetCustomRoleArn(const Aws::String& value) { m_customRoleArnHasBeenSet = true; m_customRoleArn = value; } + inline void SetCustomRoleArn(Aws::String&& value) { m_customRoleArnHasBeenSet = true; m_customRoleArn = std::move(value); } + inline void SetCustomRoleArn(const char* value) { m_customRoleArnHasBeenSet = true; m_customRoleArn.assign(value); } + inline UpdateRepositoryCreationTemplateRequest& WithCustomRoleArn(const Aws::String& value) { SetCustomRoleArn(value); return *this;} + inline UpdateRepositoryCreationTemplateRequest& WithCustomRoleArn(Aws::String&& value) { SetCustomRoleArn(std::move(value)); return *this;} + inline UpdateRepositoryCreationTemplateRequest& WithCustomRoleArn(const char* value) { SetCustomRoleArn(value); return *this;} + ///@} + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + EncryptionConfigurationForRepositoryCreationTemplate m_encryptionConfiguration; + bool m_encryptionConfigurationHasBeenSet = false; + + Aws::Vector m_resourceTags; + bool m_resourceTagsHasBeenSet = false; + + ImageTagMutability m_imageTagMutability; + bool m_imageTagMutabilityHasBeenSet = false; + + Aws::String m_repositoryPolicy; + bool m_repositoryPolicyHasBeenSet = false; + + Aws::String m_lifecyclePolicy; + bool m_lifecyclePolicyHasBeenSet = false; + + Aws::Vector m_appliedFor; + bool m_appliedForHasBeenSet = false; + + Aws::String m_customRoleArn; + bool m_customRoleArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/UpdateRepositoryCreationTemplateResult.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/UpdateRepositoryCreationTemplateResult.h new file mode 100644 index 00000000000..4c2622d6323 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/UpdateRepositoryCreationTemplateResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ECR +{ +namespace Model +{ + class UpdateRepositoryCreationTemplateResult + { + public: + AWS_ECR_API UpdateRepositoryCreationTemplateResult(); + AWS_ECR_API UpdateRepositoryCreationTemplateResult(const Aws::AmazonWebServiceResult& result); + AWS_ECR_API UpdateRepositoryCreationTemplateResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The registry ID associated with the request.

    + */ + inline const Aws::String& GetRegistryId() const{ return m_registryId; } + inline void SetRegistryId(const Aws::String& value) { m_registryId = value; } + inline void SetRegistryId(Aws::String&& value) { m_registryId = std::move(value); } + inline void SetRegistryId(const char* value) { m_registryId.assign(value); } + inline UpdateRepositoryCreationTemplateResult& WithRegistryId(const Aws::String& value) { SetRegistryId(value); return *this;} + inline UpdateRepositoryCreationTemplateResult& WithRegistryId(Aws::String&& value) { SetRegistryId(std::move(value)); return *this;} + inline UpdateRepositoryCreationTemplateResult& WithRegistryId(const char* value) { SetRegistryId(value); return *this;} + ///@} + + ///@{ + /** + *

    The details of the repository creation template associated with the + * request.

    + */ + inline const RepositoryCreationTemplate& GetRepositoryCreationTemplate() const{ return m_repositoryCreationTemplate; } + inline void SetRepositoryCreationTemplate(const RepositoryCreationTemplate& value) { m_repositoryCreationTemplate = value; } + inline void SetRepositoryCreationTemplate(RepositoryCreationTemplate&& value) { m_repositoryCreationTemplate = std::move(value); } + inline UpdateRepositoryCreationTemplateResult& WithRepositoryCreationTemplate(const RepositoryCreationTemplate& value) { SetRepositoryCreationTemplate(value); return *this;} + inline UpdateRepositoryCreationTemplateResult& WithRepositoryCreationTemplate(RepositoryCreationTemplate&& value) { SetRepositoryCreationTemplate(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 UpdateRepositoryCreationTemplateResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateRepositoryCreationTemplateResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateRepositoryCreationTemplateResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_registryId; + + RepositoryCreationTemplate m_repositoryCreationTemplate; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/source/ECRClient.cpp b/generated/src/aws-cpp-sdk-ecr/source/ECRClient.cpp index 4b7d92fcd9f..3fb18f3e064 100644 --- a/generated/src/aws-cpp-sdk-ecr/source/ECRClient.cpp +++ b/generated/src/aws-cpp-sdk-ecr/source/ECRClient.cpp @@ -28,10 +28,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -39,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -62,6 +65,7 @@ #include #include #include +#include #include #include @@ -387,6 +391,32 @@ CreateRepositoryOutcome ECRClient::CreateRepository(const CreateRepositoryReques {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateRepositoryCreationTemplateOutcome ECRClient::CreateRepositoryCreationTemplate(const CreateRepositoryCreationTemplateRequest& request) const +{ + AWS_OPERATION_GUARD(CreateRepositoryCreationTemplate); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateRepositoryCreationTemplate, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateRepositoryCreationTemplate, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateRepositoryCreationTemplate, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateRepositoryCreationTemplate", + {{ 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( + [&]()-> CreateRepositoryCreationTemplateOutcome { + 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, CreateRepositoryCreationTemplate, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateRepositoryCreationTemplateOutcome(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()}}); +} + DeleteLifecyclePolicyOutcome ECRClient::DeleteLifecyclePolicy(const DeleteLifecyclePolicyRequest& request) const { AWS_OPERATION_GUARD(DeleteLifecyclePolicy); @@ -491,6 +521,32 @@ DeleteRepositoryOutcome ECRClient::DeleteRepository(const DeleteRepositoryReques {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteRepositoryCreationTemplateOutcome ECRClient::DeleteRepositoryCreationTemplate(const DeleteRepositoryCreationTemplateRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteRepositoryCreationTemplate); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteRepositoryCreationTemplate, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteRepositoryCreationTemplate, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteRepositoryCreationTemplate, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteRepositoryCreationTemplate", + {{ 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( + [&]()-> DeleteRepositoryCreationTemplateOutcome { + 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, DeleteRepositoryCreationTemplate, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteRepositoryCreationTemplateOutcome(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()}}); +} + DeleteRepositoryPolicyOutcome ECRClient::DeleteRepositoryPolicy(const DeleteRepositoryPolicyRequest& request) const { AWS_OPERATION_GUARD(DeleteRepositoryPolicy); @@ -673,6 +729,32 @@ DescribeRepositoriesOutcome ECRClient::DescribeRepositories(const DescribeReposi {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeRepositoryCreationTemplatesOutcome ECRClient::DescribeRepositoryCreationTemplates(const DescribeRepositoryCreationTemplatesRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeRepositoryCreationTemplates); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeRepositoryCreationTemplates, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeRepositoryCreationTemplates, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeRepositoryCreationTemplates, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeRepositoryCreationTemplates", + {{ 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( + [&]()-> DescribeRepositoryCreationTemplatesOutcome { + 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, DescribeRepositoryCreationTemplates, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeRepositoryCreationTemplatesOutcome(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()}}); +} + GetAuthorizationTokenOutcome ECRClient::GetAuthorizationToken(const GetAuthorizationTokenRequest& request) const { AWS_OPERATION_GUARD(GetAuthorizationToken); @@ -1271,6 +1353,32 @@ UpdatePullThroughCacheRuleOutcome ECRClient::UpdatePullThroughCacheRule(const Up {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateRepositoryCreationTemplateOutcome ECRClient::UpdateRepositoryCreationTemplate(const UpdateRepositoryCreationTemplateRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateRepositoryCreationTemplate); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateRepositoryCreationTemplate, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateRepositoryCreationTemplate, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateRepositoryCreationTemplate, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateRepositoryCreationTemplate", + {{ 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( + [&]()-> UpdateRepositoryCreationTemplateOutcome { + 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, UpdateRepositoryCreationTemplate, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateRepositoryCreationTemplateOutcome(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()}}); +} + UploadLayerPartOutcome ECRClient::UploadLayerPart(const UploadLayerPartRequest& request) const { AWS_OPERATION_GUARD(UploadLayerPart); diff --git a/generated/src/aws-cpp-sdk-ecr/source/ECRErrors.cpp b/generated/src/aws-cpp-sdk-ecr/source/ECRErrors.cpp index e079d1c4575..4221055bb9f 100644 --- a/generated/src/aws-cpp-sdk-ecr/source/ECRErrors.cpp +++ b/generated/src/aws-cpp-sdk-ecr/source/ECRErrors.cpp @@ -48,8 +48,10 @@ static const int LIFECYCLE_POLICY_PREVIEW_NOT_FOUND_HASH = HashingUtils::HashStr static const int INVALID_PARAMETER_HASH = HashingUtils::HashString("InvalidParameterException"); static const int REGISTRY_POLICY_NOT_FOUND_HASH = HashingUtils::HashString("RegistryPolicyNotFoundException"); static const int INVALID_TAG_PARAMETER_HASH = HashingUtils::HashString("InvalidTagParameterException"); +static const int TEMPLATE_ALREADY_EXISTS_HASH = HashingUtils::HashString("TemplateAlreadyExistsException"); static const int PULL_THROUGH_CACHE_RULE_NOT_FOUND_HASH = HashingUtils::HashString("PullThroughCacheRuleNotFoundException"); static const int IMAGE_NOT_FOUND_HASH = HashingUtils::HashString("ImageNotFoundException"); +static const int TEMPLATE_NOT_FOUND_HASH = HashingUtils::HashString("TemplateNotFoundException"); static const int INVALID_LAYER_HASH = HashingUtils::HashString("InvalidLayerException"); static const int REFERENCED_IMAGES_NOT_FOUND_HASH = HashingUtils::HashString("ReferencedImagesNotFoundException"); static const int REPOSITORY_NOT_EMPTY_HASH = HashingUtils::HashString("RepositoryNotEmptyException"); @@ -136,6 +138,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ECRErrors::INVALID_TAG_PARAMETER), RetryableType::NOT_RETRYABLE); } + else if (hashCode == TEMPLATE_ALREADY_EXISTS_HASH) + { + return AWSError(static_cast(ECRErrors::TEMPLATE_ALREADY_EXISTS), RetryableType::NOT_RETRYABLE); + } else if (hashCode == PULL_THROUGH_CACHE_RULE_NOT_FOUND_HASH) { return AWSError(static_cast(ECRErrors::PULL_THROUGH_CACHE_RULE_NOT_FOUND), RetryableType::NOT_RETRYABLE); @@ -144,6 +150,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ECRErrors::IMAGE_NOT_FOUND), RetryableType::NOT_RETRYABLE); } + else if (hashCode == TEMPLATE_NOT_FOUND_HASH) + { + return AWSError(static_cast(ECRErrors::TEMPLATE_NOT_FOUND), RetryableType::NOT_RETRYABLE); + } else if (hashCode == INVALID_LAYER_HASH) { return AWSError(static_cast(ECRErrors::INVALID_LAYER), RetryableType::NOT_RETRYABLE); diff --git a/generated/src/aws-cpp-sdk-ecr/source/model/CreateRepositoryCreationTemplateRequest.cpp b/generated/src/aws-cpp-sdk-ecr/source/model/CreateRepositoryCreationTemplateRequest.cpp new file mode 100644 index 00000000000..8c6eeba1a85 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/source/model/CreateRepositoryCreationTemplateRequest.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::ECR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateRepositoryCreationTemplateRequest::CreateRepositoryCreationTemplateRequest() : + m_prefixHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_encryptionConfigurationHasBeenSet(false), + m_resourceTagsHasBeenSet(false), + m_imageTagMutability(ImageTagMutability::NOT_SET), + m_imageTagMutabilityHasBeenSet(false), + m_repositoryPolicyHasBeenSet(false), + m_lifecyclePolicyHasBeenSet(false), + m_appliedForHasBeenSet(false), + m_customRoleArnHasBeenSet(false) +{ +} + +Aws::String CreateRepositoryCreationTemplateRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_prefixHasBeenSet) + { + payload.WithString("prefix", m_prefix); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_encryptionConfigurationHasBeenSet) + { + payload.WithObject("encryptionConfiguration", m_encryptionConfiguration.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)); + + } + + if(m_imageTagMutabilityHasBeenSet) + { + payload.WithString("imageTagMutability", ImageTagMutabilityMapper::GetNameForImageTagMutability(m_imageTagMutability)); + } + + if(m_repositoryPolicyHasBeenSet) + { + payload.WithString("repositoryPolicy", m_repositoryPolicy); + + } + + if(m_lifecyclePolicyHasBeenSet) + { + payload.WithString("lifecyclePolicy", m_lifecyclePolicy); + + } + + if(m_appliedForHasBeenSet) + { + Aws::Utils::Array appliedForJsonList(m_appliedFor.size()); + for(unsigned appliedForIndex = 0; appliedForIndex < appliedForJsonList.GetLength(); ++appliedForIndex) + { + appliedForJsonList[appliedForIndex].AsString(RCTAppliedForMapper::GetNameForRCTAppliedFor(m_appliedFor[appliedForIndex])); + } + payload.WithArray("appliedFor", std::move(appliedForJsonList)); + + } + + if(m_customRoleArnHasBeenSet) + { + payload.WithString("customRoleArn", m_customRoleArn); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateRepositoryCreationTemplateRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AmazonEC2ContainerRegistry_V20150921.CreateRepositoryCreationTemplate")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-ecr/source/model/CreateRepositoryCreationTemplateResult.cpp b/generated/src/aws-cpp-sdk-ecr/source/model/CreateRepositoryCreationTemplateResult.cpp new file mode 100644 index 00000000000..349fe65341a --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/source/model/CreateRepositoryCreationTemplateResult.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::ECR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateRepositoryCreationTemplateResult::CreateRepositoryCreationTemplateResult() +{ +} + +CreateRepositoryCreationTemplateResult::CreateRepositoryCreationTemplateResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateRepositoryCreationTemplateResult& CreateRepositoryCreationTemplateResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("registryId")) + { + m_registryId = jsonValue.GetString("registryId"); + + } + + if(jsonValue.ValueExists("repositoryCreationTemplate")) + { + m_repositoryCreationTemplate = jsonValue.GetObject("repositoryCreationTemplate"); + + } + + + 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-ecr/source/model/DeleteRepositoryCreationTemplateRequest.cpp b/generated/src/aws-cpp-sdk-ecr/source/model/DeleteRepositoryCreationTemplateRequest.cpp new file mode 100644 index 00000000000..55d36384c92 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/source/model/DeleteRepositoryCreationTemplateRequest.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::ECR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteRepositoryCreationTemplateRequest::DeleteRepositoryCreationTemplateRequest() : + m_prefixHasBeenSet(false) +{ +} + +Aws::String DeleteRepositoryCreationTemplateRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_prefixHasBeenSet) + { + payload.WithString("prefix", m_prefix); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteRepositoryCreationTemplateRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AmazonEC2ContainerRegistry_V20150921.DeleteRepositoryCreationTemplate")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-ecr/source/model/DeleteRepositoryCreationTemplateResult.cpp b/generated/src/aws-cpp-sdk-ecr/source/model/DeleteRepositoryCreationTemplateResult.cpp new file mode 100644 index 00000000000..0e33e9366fb --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/source/model/DeleteRepositoryCreationTemplateResult.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::ECR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteRepositoryCreationTemplateResult::DeleteRepositoryCreationTemplateResult() +{ +} + +DeleteRepositoryCreationTemplateResult::DeleteRepositoryCreationTemplateResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteRepositoryCreationTemplateResult& DeleteRepositoryCreationTemplateResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("registryId")) + { + m_registryId = jsonValue.GetString("registryId"); + + } + + if(jsonValue.ValueExists("repositoryCreationTemplate")) + { + m_repositoryCreationTemplate = jsonValue.GetObject("repositoryCreationTemplate"); + + } + + + 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-ecr/source/model/DescribeRepositoryCreationTemplatesRequest.cpp b/generated/src/aws-cpp-sdk-ecr/source/model/DescribeRepositoryCreationTemplatesRequest.cpp new file mode 100644 index 00000000000..6b931f9bc70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/source/model/DescribeRepositoryCreationTemplatesRequest.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::ECR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DescribeRepositoryCreationTemplatesRequest::DescribeRepositoryCreationTemplatesRequest() : + m_prefixesHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String DescribeRepositoryCreationTemplatesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_prefixesHasBeenSet) + { + Aws::Utils::Array prefixesJsonList(m_prefixes.size()); + for(unsigned prefixesIndex = 0; prefixesIndex < prefixesJsonList.GetLength(); ++prefixesIndex) + { + prefixesJsonList[prefixesIndex].AsString(m_prefixes[prefixesIndex]); + } + payload.WithArray("prefixes", std::move(prefixesJsonList)); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DescribeRepositoryCreationTemplatesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AmazonEC2ContainerRegistry_V20150921.DescribeRepositoryCreationTemplates")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-ecr/source/model/DescribeRepositoryCreationTemplatesResult.cpp b/generated/src/aws-cpp-sdk-ecr/source/model/DescribeRepositoryCreationTemplatesResult.cpp new file mode 100644 index 00000000000..f9aaf92b334 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/source/model/DescribeRepositoryCreationTemplatesResult.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::ECR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeRepositoryCreationTemplatesResult::DescribeRepositoryCreationTemplatesResult() +{ +} + +DescribeRepositoryCreationTemplatesResult::DescribeRepositoryCreationTemplatesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeRepositoryCreationTemplatesResult& DescribeRepositoryCreationTemplatesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("registryId")) + { + m_registryId = jsonValue.GetString("registryId"); + + } + + if(jsonValue.ValueExists("repositoryCreationTemplates")) + { + Aws::Utils::Array repositoryCreationTemplatesJsonList = jsonValue.GetArray("repositoryCreationTemplates"); + for(unsigned repositoryCreationTemplatesIndex = 0; repositoryCreationTemplatesIndex < repositoryCreationTemplatesJsonList.GetLength(); ++repositoryCreationTemplatesIndex) + { + m_repositoryCreationTemplates.push_back(repositoryCreationTemplatesJsonList[repositoryCreationTemplatesIndex].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-ecr/source/model/EncryptionConfigurationForRepositoryCreationTemplate.cpp b/generated/src/aws-cpp-sdk-ecr/source/model/EncryptionConfigurationForRepositoryCreationTemplate.cpp new file mode 100644 index 00000000000..a7115d99ee4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/source/model/EncryptionConfigurationForRepositoryCreationTemplate.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 ECR +{ +namespace Model +{ + +EncryptionConfigurationForRepositoryCreationTemplate::EncryptionConfigurationForRepositoryCreationTemplate() : + m_encryptionType(EncryptionType::NOT_SET), + m_encryptionTypeHasBeenSet(false), + m_kmsKeyHasBeenSet(false) +{ +} + +EncryptionConfigurationForRepositoryCreationTemplate::EncryptionConfigurationForRepositoryCreationTemplate(JsonView jsonValue) + : EncryptionConfigurationForRepositoryCreationTemplate() +{ + *this = jsonValue; +} + +EncryptionConfigurationForRepositoryCreationTemplate& EncryptionConfigurationForRepositoryCreationTemplate::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("encryptionType")) + { + m_encryptionType = EncryptionTypeMapper::GetEncryptionTypeForName(jsonValue.GetString("encryptionType")); + + m_encryptionTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("kmsKey")) + { + m_kmsKey = jsonValue.GetString("kmsKey"); + + m_kmsKeyHasBeenSet = true; + } + + return *this; +} + +JsonValue EncryptionConfigurationForRepositoryCreationTemplate::Jsonize() const +{ + JsonValue payload; + + if(m_encryptionTypeHasBeenSet) + { + payload.WithString("encryptionType", EncryptionTypeMapper::GetNameForEncryptionType(m_encryptionType)); + } + + if(m_kmsKeyHasBeenSet) + { + payload.WithString("kmsKey", m_kmsKey); + + } + + return payload; +} + +} // namespace Model +} // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/source/model/RCTAppliedFor.cpp b/generated/src/aws-cpp-sdk-ecr/source/model/RCTAppliedFor.cpp new file mode 100644 index 00000000000..315edcd6b7e --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/source/model/RCTAppliedFor.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 ECR + { + namespace Model + { + namespace RCTAppliedForMapper + { + + static const int REPLICATION_HASH = HashingUtils::HashString("REPLICATION"); + static const int PULL_THROUGH_CACHE_HASH = HashingUtils::HashString("PULL_THROUGH_CACHE"); + + + RCTAppliedFor GetRCTAppliedForForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == REPLICATION_HASH) + { + return RCTAppliedFor::REPLICATION; + } + else if (hashCode == PULL_THROUGH_CACHE_HASH) + { + return RCTAppliedFor::PULL_THROUGH_CACHE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RCTAppliedFor::NOT_SET; + } + + Aws::String GetNameForRCTAppliedFor(RCTAppliedFor enumValue) + { + switch(enumValue) + { + case RCTAppliedFor::NOT_SET: + return {}; + case RCTAppliedFor::REPLICATION: + return "REPLICATION"; + case RCTAppliedFor::PULL_THROUGH_CACHE: + return "PULL_THROUGH_CACHE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RCTAppliedForMapper + } // namespace Model + } // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/source/model/RepositoryCreationTemplate.cpp b/generated/src/aws-cpp-sdk-ecr/source/model/RepositoryCreationTemplate.cpp new file mode 100644 index 00000000000..97c5b517395 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/source/model/RepositoryCreationTemplate.cpp @@ -0,0 +1,213 @@ +/** + * 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 ECR +{ +namespace Model +{ + +RepositoryCreationTemplate::RepositoryCreationTemplate() : + m_prefixHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_encryptionConfigurationHasBeenSet(false), + m_resourceTagsHasBeenSet(false), + m_imageTagMutability(ImageTagMutability::NOT_SET), + m_imageTagMutabilityHasBeenSet(false), + m_repositoryPolicyHasBeenSet(false), + m_lifecyclePolicyHasBeenSet(false), + m_appliedForHasBeenSet(false), + m_customRoleArnHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_updatedAtHasBeenSet(false) +{ +} + +RepositoryCreationTemplate::RepositoryCreationTemplate(JsonView jsonValue) + : RepositoryCreationTemplate() +{ + *this = jsonValue; +} + +RepositoryCreationTemplate& RepositoryCreationTemplate::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("prefix")) + { + m_prefix = jsonValue.GetString("prefix"); + + m_prefixHasBeenSet = true; + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("encryptionConfiguration")) + { + m_encryptionConfiguration = jsonValue.GetObject("encryptionConfiguration"); + + m_encryptionConfigurationHasBeenSet = true; + } + + 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()); + } + m_resourceTagsHasBeenSet = true; + } + + if(jsonValue.ValueExists("imageTagMutability")) + { + m_imageTagMutability = ImageTagMutabilityMapper::GetImageTagMutabilityForName(jsonValue.GetString("imageTagMutability")); + + m_imageTagMutabilityHasBeenSet = true; + } + + if(jsonValue.ValueExists("repositoryPolicy")) + { + m_repositoryPolicy = jsonValue.GetString("repositoryPolicy"); + + m_repositoryPolicyHasBeenSet = true; + } + + if(jsonValue.ValueExists("lifecyclePolicy")) + { + m_lifecyclePolicy = jsonValue.GetString("lifecyclePolicy"); + + m_lifecyclePolicyHasBeenSet = true; + } + + if(jsonValue.ValueExists("appliedFor")) + { + Aws::Utils::Array appliedForJsonList = jsonValue.GetArray("appliedFor"); + for(unsigned appliedForIndex = 0; appliedForIndex < appliedForJsonList.GetLength(); ++appliedForIndex) + { + m_appliedFor.push_back(RCTAppliedForMapper::GetRCTAppliedForForName(appliedForJsonList[appliedForIndex].AsString())); + } + m_appliedForHasBeenSet = true; + } + + if(jsonValue.ValueExists("customRoleArn")) + { + m_customRoleArn = jsonValue.GetString("customRoleArn"); + + m_customRoleArnHasBeenSet = 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; + } + + return *this; +} + +JsonValue RepositoryCreationTemplate::Jsonize() const +{ + JsonValue payload; + + if(m_prefixHasBeenSet) + { + payload.WithString("prefix", m_prefix); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_encryptionConfigurationHasBeenSet) + { + payload.WithObject("encryptionConfiguration", m_encryptionConfiguration.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)); + + } + + if(m_imageTagMutabilityHasBeenSet) + { + payload.WithString("imageTagMutability", ImageTagMutabilityMapper::GetNameForImageTagMutability(m_imageTagMutability)); + } + + if(m_repositoryPolicyHasBeenSet) + { + payload.WithString("repositoryPolicy", m_repositoryPolicy); + + } + + if(m_lifecyclePolicyHasBeenSet) + { + payload.WithString("lifecyclePolicy", m_lifecyclePolicy); + + } + + if(m_appliedForHasBeenSet) + { + Aws::Utils::Array appliedForJsonList(m_appliedFor.size()); + for(unsigned appliedForIndex = 0; appliedForIndex < appliedForJsonList.GetLength(); ++appliedForIndex) + { + appliedForJsonList[appliedForIndex].AsString(RCTAppliedForMapper::GetNameForRCTAppliedFor(m_appliedFor[appliedForIndex])); + } + payload.WithArray("appliedFor", std::move(appliedForJsonList)); + + } + + if(m_customRoleArnHasBeenSet) + { + payload.WithString("customRoleArn", m_customRoleArn); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_updatedAtHasBeenSet) + { + payload.WithDouble("updatedAt", m_updatedAt.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/source/model/UpdateRepositoryCreationTemplateRequest.cpp b/generated/src/aws-cpp-sdk-ecr/source/model/UpdateRepositoryCreationTemplateRequest.cpp new file mode 100644 index 00000000000..0c5d17db342 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/source/model/UpdateRepositoryCreationTemplateRequest.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::ECR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateRepositoryCreationTemplateRequest::UpdateRepositoryCreationTemplateRequest() : + m_prefixHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_encryptionConfigurationHasBeenSet(false), + m_resourceTagsHasBeenSet(false), + m_imageTagMutability(ImageTagMutability::NOT_SET), + m_imageTagMutabilityHasBeenSet(false), + m_repositoryPolicyHasBeenSet(false), + m_lifecyclePolicyHasBeenSet(false), + m_appliedForHasBeenSet(false), + m_customRoleArnHasBeenSet(false) +{ +} + +Aws::String UpdateRepositoryCreationTemplateRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_prefixHasBeenSet) + { + payload.WithString("prefix", m_prefix); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_encryptionConfigurationHasBeenSet) + { + payload.WithObject("encryptionConfiguration", m_encryptionConfiguration.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)); + + } + + if(m_imageTagMutabilityHasBeenSet) + { + payload.WithString("imageTagMutability", ImageTagMutabilityMapper::GetNameForImageTagMutability(m_imageTagMutability)); + } + + if(m_repositoryPolicyHasBeenSet) + { + payload.WithString("repositoryPolicy", m_repositoryPolicy); + + } + + if(m_lifecyclePolicyHasBeenSet) + { + payload.WithString("lifecyclePolicy", m_lifecyclePolicy); + + } + + if(m_appliedForHasBeenSet) + { + Aws::Utils::Array appliedForJsonList(m_appliedFor.size()); + for(unsigned appliedForIndex = 0; appliedForIndex < appliedForJsonList.GetLength(); ++appliedForIndex) + { + appliedForJsonList[appliedForIndex].AsString(RCTAppliedForMapper::GetNameForRCTAppliedFor(m_appliedFor[appliedForIndex])); + } + payload.WithArray("appliedFor", std::move(appliedForJsonList)); + + } + + if(m_customRoleArnHasBeenSet) + { + payload.WithString("customRoleArn", m_customRoleArn); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateRepositoryCreationTemplateRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AmazonEC2ContainerRegistry_V20150921.UpdateRepositoryCreationTemplate")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-ecr/source/model/UpdateRepositoryCreationTemplateResult.cpp b/generated/src/aws-cpp-sdk-ecr/source/model/UpdateRepositoryCreationTemplateResult.cpp new file mode 100644 index 00000000000..382eb406ccd --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/source/model/UpdateRepositoryCreationTemplateResult.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::ECR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateRepositoryCreationTemplateResult::UpdateRepositoryCreationTemplateResult() +{ +} + +UpdateRepositoryCreationTemplateResult::UpdateRepositoryCreationTemplateResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateRepositoryCreationTemplateResult& UpdateRepositoryCreationTemplateResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("registryId")) + { + m_registryId = jsonValue.GetString("registryId"); + + } + + if(jsonValue.ValueExists("repositoryCreationTemplate")) + { + m_repositoryCreationTemplate = jsonValue.GetObject("repositoryCreationTemplate"); + + } + + + 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-eks/include/aws/eks/model/Cluster.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Cluster.h index a35fcded886..3e4364daf05 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 @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -349,6 +350,21 @@ namespace Model inline Cluster& WithAccessConfig(const AccessConfigResponse& value) { SetAccessConfig(value); return *this;} inline Cluster& WithAccessConfig(AccessConfigResponse&& value) { SetAccessConfig(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    This value indicates if extended support is enabled or disabled for the + * cluster.

    Learn + * more about EKS Extended Support in the EKS User Guide.

    + */ + inline const UpgradePolicyResponse& GetUpgradePolicy() const{ return m_upgradePolicy; } + inline bool UpgradePolicyHasBeenSet() const { return m_upgradePolicyHasBeenSet; } + inline void SetUpgradePolicy(const UpgradePolicyResponse& value) { m_upgradePolicyHasBeenSet = true; m_upgradePolicy = value; } + inline void SetUpgradePolicy(UpgradePolicyResponse&& value) { m_upgradePolicyHasBeenSet = true; m_upgradePolicy = std::move(value); } + inline Cluster& WithUpgradePolicy(const UpgradePolicyResponse& value) { SetUpgradePolicy(value); return *this;} + inline Cluster& WithUpgradePolicy(UpgradePolicyResponse&& value) { SetUpgradePolicy(std::move(value)); return *this;} + ///@} private: Aws::String m_name; @@ -413,6 +429,9 @@ namespace Model AccessConfigResponse m_accessConfig; bool m_accessConfigHasBeenSet = false; + + UpgradePolicyResponse m_upgradePolicy; + bool m_upgradePolicyHasBeenSet = false; }; } // namespace Model 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 d16e6ce0f9a..0fa20b9b3f1 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 @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -235,6 +236,20 @@ namespace Model inline void SetBootstrapSelfManagedAddons(bool value) { m_bootstrapSelfManagedAddonsHasBeenSet = true; m_bootstrapSelfManagedAddons = value; } inline CreateClusterRequest& WithBootstrapSelfManagedAddons(bool value) { SetBootstrapSelfManagedAddons(value); return *this;} ///@} + + ///@{ + /** + *

    New clusters, by default, have extended support enabled. You can disable + * extended support when creating a cluster by setting this value to + * STANDARD.

    + */ + inline const UpgradePolicyRequest& GetUpgradePolicy() const{ return m_upgradePolicy; } + inline bool UpgradePolicyHasBeenSet() const { return m_upgradePolicyHasBeenSet; } + inline void SetUpgradePolicy(const UpgradePolicyRequest& value) { m_upgradePolicyHasBeenSet = true; m_upgradePolicy = value; } + inline void SetUpgradePolicy(UpgradePolicyRequest&& value) { m_upgradePolicyHasBeenSet = true; m_upgradePolicy = std::move(value); } + inline CreateClusterRequest& WithUpgradePolicy(const UpgradePolicyRequest& value) { SetUpgradePolicy(value); return *this;} + inline CreateClusterRequest& WithUpgradePolicy(UpgradePolicyRequest&& value) { SetUpgradePolicy(std::move(value)); return *this;} + ///@} private: Aws::String m_name; @@ -272,6 +287,9 @@ namespace Model bool m_bootstrapSelfManagedAddons; bool m_bootstrapSelfManagedAddonsHasBeenSet = false; + + UpgradePolicyRequest m_upgradePolicy; + bool m_upgradePolicyHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/SupportType.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/SupportType.h new file mode 100644 index 00000000000..d0298dd3786 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/SupportType.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 EKS +{ +namespace Model +{ + enum class SupportType + { + NOT_SET, + STANDARD, + EXTENDED + }; + +namespace SupportTypeMapper +{ +AWS_EKS_API SupportType GetSupportTypeForName(const Aws::String& name); + +AWS_EKS_API Aws::String GetNameForSupportType(SupportType value); +} // namespace SupportTypeMapper +} // 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 a6faf0c789b..a748a449f5e 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 @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -106,6 +107,20 @@ namespace Model inline UpdateClusterConfigRequest& WithAccessConfig(const UpdateAccessConfigRequest& value) { SetAccessConfig(value); return *this;} inline UpdateClusterConfigRequest& WithAccessConfig(UpdateAccessConfigRequest&& value) { SetAccessConfig(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    You can enable or disable extended support for clusters currently on standard + * support. You cannot disable extended support once it starts. You must enable + * extended support before your cluster exits standard support.

    + */ + inline const UpgradePolicyRequest& GetUpgradePolicy() const{ return m_upgradePolicy; } + inline bool UpgradePolicyHasBeenSet() const { return m_upgradePolicyHasBeenSet; } + inline void SetUpgradePolicy(const UpgradePolicyRequest& value) { m_upgradePolicyHasBeenSet = true; m_upgradePolicy = value; } + inline void SetUpgradePolicy(UpgradePolicyRequest&& value) { m_upgradePolicyHasBeenSet = true; m_upgradePolicy = std::move(value); } + inline UpdateClusterConfigRequest& WithUpgradePolicy(const UpgradePolicyRequest& value) { SetUpgradePolicy(value); return *this;} + inline UpdateClusterConfigRequest& WithUpgradePolicy(UpgradePolicyRequest&& value) { SetUpgradePolicy(std::move(value)); return *this;} + ///@} private: Aws::String m_name; @@ -122,6 +137,9 @@ namespace Model UpdateAccessConfigRequest m_accessConfig; bool m_accessConfigHasBeenSet = false; + + UpgradePolicyRequest m_upgradePolicy; + bool m_upgradePolicyHasBeenSet = 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 6bcf3e10011..62d19ea00ca 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 @@ -43,7 +43,8 @@ namespace Model SecurityGroups, Subnets, AuthenticationMode, - PodIdentityAssociations + PodIdentityAssociations, + UpgradePolicy }; 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 e8b0eca9822..1bf86d37dc0 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 @@ -25,7 +25,8 @@ namespace Model AssociateEncryptionConfig, AddonUpdate, VpcConfigUpdate, - AccessConfigUpdate + AccessConfigUpdate, + UpgradePolicyUpdate }; namespace UpdateTypeMapper diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyRequest.h new file mode 100644 index 00000000000..b3761fe9e50 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyRequest.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 EKS +{ +namespace Model +{ + + /** + *

    The support policy to use for the cluster. Extended support allows you to + * remain on specific Kubernetes versions for longer. Clusters in extended support + * have higher costs. The default value is EXTENDED. Use + * STANDARD to disable extended support.

    Learn + * more about EKS Extended Support in the EKS User Guide.

    See + * Also:

    AWS + * API Reference

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

    If the cluster is set to EXTENDED, it will enter extended + * support at the end of standard support. If the cluster is set to + * STANDARD, it will be automatically upgraded at the end of standard + * support.

    Learn + * more about EKS Extended Support in the EKS User Guide.

    + */ + inline const SupportType& GetSupportType() const{ return m_supportType; } + inline bool SupportTypeHasBeenSet() const { return m_supportTypeHasBeenSet; } + inline void SetSupportType(const SupportType& value) { m_supportTypeHasBeenSet = true; m_supportType = value; } + inline void SetSupportType(SupportType&& value) { m_supportTypeHasBeenSet = true; m_supportType = std::move(value); } + inline UpgradePolicyRequest& WithSupportType(const SupportType& value) { SetSupportType(value); return *this;} + inline UpgradePolicyRequest& WithSupportType(SupportType&& value) { SetSupportType(std::move(value)); return *this;} + ///@} + private: + + SupportType m_supportType; + bool m_supportTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyResponse.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyResponse.h new file mode 100644 index 00000000000..43ae2003266 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyResponse.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 +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EKS +{ +namespace Model +{ + + /** + *

    This value indicates if extended support is enabled or disabled for the + * cluster.

    Learn + * more about EKS Extended Support in the EKS User Guide.

    See + * Also:

    AWS + * API Reference

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

    If the cluster is set to EXTENDED, it will enter extended + * support at the end of standard support. If the cluster is set to + * STANDARD, it will be automatically upgraded at the end of standard + * support.

    Learn + * more about EKS Extended Support in the EKS User Guide.

    + */ + inline const SupportType& GetSupportType() const{ return m_supportType; } + inline bool SupportTypeHasBeenSet() const { return m_supportTypeHasBeenSet; } + inline void SetSupportType(const SupportType& value) { m_supportTypeHasBeenSet = true; m_supportType = value; } + inline void SetSupportType(SupportType&& value) { m_supportTypeHasBeenSet = true; m_supportType = std::move(value); } + inline UpgradePolicyResponse& WithSupportType(const SupportType& value) { SetSupportType(value); return *this;} + inline UpgradePolicyResponse& WithSupportType(SupportType&& value) { SetSupportType(std::move(value)); return *this;} + ///@} + private: + + SupportType m_supportType; + bool m_supportTypeHasBeenSet = false; + }; + +} // 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 53b85688037..9037dfac822 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/Cluster.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/Cluster.cpp @@ -40,7 +40,8 @@ Cluster::Cluster() : m_idHasBeenSet(false), m_healthHasBeenSet(false), m_outpostConfigHasBeenSet(false), - m_accessConfigHasBeenSet(false) + m_accessConfigHasBeenSet(false), + m_upgradePolicyHasBeenSet(false) { } @@ -205,6 +206,13 @@ Cluster& Cluster::operator =(JsonView jsonValue) m_accessConfigHasBeenSet = true; } + if(jsonValue.ValueExists("upgradePolicy")) + { + m_upgradePolicy = jsonValue.GetObject("upgradePolicy"); + + m_upgradePolicyHasBeenSet = true; + } + return *this; } @@ -346,6 +354,12 @@ JsonValue Cluster::Jsonize() const } + if(m_upgradePolicyHasBeenSet) + { + payload.WithObject("upgradePolicy", m_upgradePolicy.Jsonize()); + + } + return payload; } 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 41965d6b70d..ca1de249ce7 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/CreateClusterRequest.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/CreateClusterRequest.cpp @@ -26,7 +26,8 @@ CreateClusterRequest::CreateClusterRequest() : m_outpostConfigHasBeenSet(false), m_accessConfigHasBeenSet(false), m_bootstrapSelfManagedAddons(false), - m_bootstrapSelfManagedAddonsHasBeenSet(false) + m_bootstrapSelfManagedAddonsHasBeenSet(false), + m_upgradePolicyHasBeenSet(false) { } @@ -116,6 +117,12 @@ Aws::String CreateClusterRequest::SerializePayload() const } + if(m_upgradePolicyHasBeenSet) + { + payload.WithObject("upgradePolicy", m_upgradePolicy.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-eks/source/model/SupportType.cpp b/generated/src/aws-cpp-sdk-eks/source/model/SupportType.cpp new file mode 100644 index 00000000000..d9144b3b8ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/SupportType.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 EKS + { + namespace Model + { + namespace SupportTypeMapper + { + + static const int STANDARD_HASH = HashingUtils::HashString("STANDARD"); + static const int EXTENDED_HASH = HashingUtils::HashString("EXTENDED"); + + + SupportType GetSupportTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == STANDARD_HASH) + { + return SupportType::STANDARD; + } + else if (hashCode == EXTENDED_HASH) + { + return SupportType::EXTENDED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SupportType::NOT_SET; + } + + Aws::String GetNameForSupportType(SupportType enumValue) + { + switch(enumValue) + { + case SupportType::NOT_SET: + return {}; + case SupportType::STANDARD: + return "STANDARD"; + case SupportType::EXTENDED: + return "EXTENDED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SupportTypeMapper + } // 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 e3223c7cab0..00f1264ca05 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/UpdateClusterConfigRequest.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/UpdateClusterConfigRequest.cpp @@ -18,7 +18,8 @@ UpdateClusterConfigRequest::UpdateClusterConfigRequest() : m_loggingHasBeenSet(false), m_clientRequestToken(Aws::Utils::UUID::PseudoRandomUUID()), m_clientRequestTokenHasBeenSet(true), - m_accessConfigHasBeenSet(false) + m_accessConfigHasBeenSet(false), + m_upgradePolicyHasBeenSet(false) { } @@ -50,6 +51,12 @@ Aws::String UpdateClusterConfigRequest::SerializePayload() const } + if(m_upgradePolicyHasBeenSet) + { + payload.WithObject("upgradePolicy", m_upgradePolicy.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 0c0023e9e0f..15288d34fc1 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/UpdateParamType.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/UpdateParamType.cpp @@ -48,6 +48,7 @@ namespace Aws static const int Subnets_HASH = HashingUtils::HashString("Subnets"); static const int AuthenticationMode_HASH = HashingUtils::HashString("AuthenticationMode"); static const int PodIdentityAssociations_HASH = HashingUtils::HashString("PodIdentityAssociations"); + static const int UpgradePolicy_HASH = HashingUtils::HashString("UpgradePolicy"); UpdateParamType GetUpdateParamTypeForName(const Aws::String& name) @@ -165,6 +166,10 @@ namespace Aws { return UpdateParamType::PodIdentityAssociations; } + else if (hashCode == UpgradePolicy_HASH) + { + return UpdateParamType::UpgradePolicy; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -237,6 +242,8 @@ namespace Aws return "AuthenticationMode"; case UpdateParamType::PodIdentityAssociations: return "PodIdentityAssociations"; + case UpdateParamType::UpgradePolicy: + return "UpgradePolicy"; 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 4ccd6f2cff0..af76e078fc2 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/UpdateType.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/UpdateType.cpp @@ -30,6 +30,7 @@ namespace Aws static const int AddonUpdate_HASH = HashingUtils::HashString("AddonUpdate"); static const int VpcConfigUpdate_HASH = HashingUtils::HashString("VpcConfigUpdate"); static const int AccessConfigUpdate_HASH = HashingUtils::HashString("AccessConfigUpdate"); + static const int UpgradePolicyUpdate_HASH = HashingUtils::HashString("UpgradePolicyUpdate"); UpdateType GetUpdateTypeForName(const Aws::String& name) @@ -75,6 +76,10 @@ namespace Aws { return UpdateType::AccessConfigUpdate; } + else if (hashCode == UpgradePolicyUpdate_HASH) + { + return UpdateType::UpgradePolicyUpdate; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -111,6 +116,8 @@ namespace Aws return "VpcConfigUpdate"; case UpdateType::AccessConfigUpdate: return "AccessConfigUpdate"; + case UpdateType::UpgradePolicyUpdate: + return "UpgradePolicyUpdate"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-eks/source/model/UpgradePolicyRequest.cpp b/generated/src/aws-cpp-sdk-eks/source/model/UpgradePolicyRequest.cpp new file mode 100644 index 00000000000..c85e62eb843 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/UpgradePolicyRequest.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 +{ + +UpgradePolicyRequest::UpgradePolicyRequest() : + m_supportType(SupportType::NOT_SET), + m_supportTypeHasBeenSet(false) +{ +} + +UpgradePolicyRequest::UpgradePolicyRequest(JsonView jsonValue) + : UpgradePolicyRequest() +{ + *this = jsonValue; +} + +UpgradePolicyRequest& UpgradePolicyRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("supportType")) + { + m_supportType = SupportTypeMapper::GetSupportTypeForName(jsonValue.GetString("supportType")); + + m_supportTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue UpgradePolicyRequest::Jsonize() const +{ + JsonValue payload; + + if(m_supportTypeHasBeenSet) + { + payload.WithString("supportType", SupportTypeMapper::GetNameForSupportType(m_supportType)); + } + + return payload; +} + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/model/UpgradePolicyResponse.cpp b/generated/src/aws-cpp-sdk-eks/source/model/UpgradePolicyResponse.cpp new file mode 100644 index 00000000000..da853945ce2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/UpgradePolicyResponse.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 +{ + +UpgradePolicyResponse::UpgradePolicyResponse() : + m_supportType(SupportType::NOT_SET), + m_supportTypeHasBeenSet(false) +{ +} + +UpgradePolicyResponse::UpgradePolicyResponse(JsonView jsonValue) + : UpgradePolicyResponse() +{ + *this = jsonValue; +} + +UpgradePolicyResponse& UpgradePolicyResponse::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("supportType")) + { + m_supportType = SupportTypeMapper::GetSupportTypeForName(jsonValue.GetString("supportType")); + + m_supportTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue UpgradePolicyResponse::Jsonize() const +{ + JsonValue payload; + + if(m_supportTypeHasBeenSet) + { + payload.WithString("supportType", SupportTypeMapper::GetNameForSupportType(m_supportType)); + } + + return payload; +} + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Client.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Client.h index 1389fd50e97..a8f4263a94b 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Client.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Client.h @@ -443,6 +443,31 @@ namespace ElasticLoadBalancingv2 return SubmitAsync(&ElasticLoadBalancingv2Client::DeleteRule, request, handler, context); } + /** + *

    Deletes a shared trust store association.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteSharedTrustStoreAssociationOutcome DeleteSharedTrustStoreAssociation(const Model::DeleteSharedTrustStoreAssociationRequest& request) const; + + /** + * A Callable wrapper for DeleteSharedTrustStoreAssociation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteSharedTrustStoreAssociationOutcomeCallable DeleteSharedTrustStoreAssociationCallable(const DeleteSharedTrustStoreAssociationRequestT& request) const + { + return SubmitCallable(&ElasticLoadBalancingv2Client::DeleteSharedTrustStoreAssociation, request); + } + + /** + * An Async wrapper for DeleteSharedTrustStoreAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteSharedTrustStoreAssociationAsync(const DeleteSharedTrustStoreAssociationRequestT& request, const DeleteSharedTrustStoreAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ElasticLoadBalancingv2Client::DeleteSharedTrustStoreAssociation, request, handler, context); + } + /** *

    Deletes the specified target group.

    You can delete a target group if * it is not referenced by any actions. Deleting a target group also deletes any @@ -898,8 +923,8 @@ namespace ElasticLoadBalancingv2 } /** - *

    Describes the revocation files in use by the specified trust store arn, or - * revocation ID.

    See Also:

    Describes the revocation files in use by the specified trust store or + * revocation files.

    See Also:

    AWS * API Reference

    */ @@ -924,8 +949,8 @@ namespace ElasticLoadBalancingv2 } /** - *

    Describes all trust stores for a given account by trust store arn’s or - * name.

    See Also:

    Describes all trust stores for the specified account.

    See + * Also:

    AWS * API Reference

    */ @@ -949,6 +974,32 @@ namespace ElasticLoadBalancingv2 return SubmitAsync(&ElasticLoadBalancingv2Client::DescribeTrustStores, request, handler, context); } + /** + *

    Retrieves the resource policy for a specified resource.

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::GetResourcePolicyOutcome GetResourcePolicy(const Model::GetResourcePolicyRequest& request) const; + + /** + * A Callable wrapper for GetResourcePolicy that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetResourcePolicyOutcomeCallable GetResourcePolicyCallable(const GetResourcePolicyRequestT& request) const + { + return SubmitCallable(&ElasticLoadBalancingv2Client::GetResourcePolicy, request); + } + + /** + * An Async wrapper for GetResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetResourcePolicyAsync(const GetResourcePolicyRequestT& request, const GetResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ElasticLoadBalancingv2Client::GetResourcePolicy, request, handler, context); + } + /** *

    Retrieves the ca certificate bundle.

    This action returns a pre-signed * S3 URI which is active for ten minutes.

    See Also:

    Update the ca certificate bundle for a given trust store.

    See + *

    Update the ca certificate bundle for the specified trust store.

    See * Also:

    AWS * API Reference

    diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Errors.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Errors.h index 86ac15afc1d..8930c99d463 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Errors.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Errors.h @@ -52,6 +52,7 @@ enum class ElasticLoadBalancingv2Errors A_L_P_N_POLICY_NOT_SUPPORTED, CA_CERTIFICATES_BUNDLE_NOT_FOUND, CERTIFICATE_NOT_FOUND, + DELETE_ASSOCIATION_SAME_ACCOUNT, DUPLICATE_LISTENER, DUPLICATE_LOAD_BALANCER_NAME, DUPLICATE_TAG_KEYS, @@ -91,6 +92,7 @@ enum class ElasticLoadBalancingv2Errors TOO_MANY_TRUST_STORES, TOO_MANY_TRUST_STORE_REVOCATION_ENTRIES, TOO_MANY_UNIQUE_TARGET_GROUPS_PER_LOAD_BALANCER, + TRUST_STORE_ASSOCIATION_NOT_FOUND, TRUST_STORE_IN_USE, TRUST_STORE_NOT_FOUND, TRUST_STORE_NOT_READY, diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ServiceClientModel.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ServiceClientModel.h index eadba47a362..e7c8b45e53e 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ServiceClientModel.h @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -46,6 +47,7 @@ #include #include #include +#include #include #include #include @@ -120,6 +122,7 @@ namespace Aws class DeleteListenerRequest; class DeleteLoadBalancerRequest; class DeleteRuleRequest; + class DeleteSharedTrustStoreAssociationRequest; class DeleteTargetGroupRequest; class DeleteTrustStoreRequest; class DeregisterTargetsRequest; @@ -137,6 +140,7 @@ namespace Aws class DescribeTrustStoreAssociationsRequest; class DescribeTrustStoreRevocationsRequest; class DescribeTrustStoresRequest; + class GetResourcePolicyRequest; class GetTrustStoreCaCertificatesBundleRequest; class GetTrustStoreRevocationContentRequest; class ModifyListenerRequest; @@ -167,6 +171,7 @@ namespace Aws typedef Aws::Utils::Outcome DeleteListenerOutcome; typedef Aws::Utils::Outcome DeleteLoadBalancerOutcome; typedef Aws::Utils::Outcome DeleteRuleOutcome; + typedef Aws::Utils::Outcome DeleteSharedTrustStoreAssociationOutcome; typedef Aws::Utils::Outcome DeleteTargetGroupOutcome; typedef Aws::Utils::Outcome DeleteTrustStoreOutcome; typedef Aws::Utils::Outcome DeregisterTargetsOutcome; @@ -184,6 +189,7 @@ namespace Aws typedef Aws::Utils::Outcome DescribeTrustStoreAssociationsOutcome; typedef Aws::Utils::Outcome DescribeTrustStoreRevocationsOutcome; typedef Aws::Utils::Outcome DescribeTrustStoresOutcome; + typedef Aws::Utils::Outcome GetResourcePolicyOutcome; typedef Aws::Utils::Outcome GetTrustStoreCaCertificatesBundleOutcome; typedef Aws::Utils::Outcome GetTrustStoreRevocationContentOutcome; typedef Aws::Utils::Outcome ModifyListenerOutcome; @@ -214,6 +220,7 @@ namespace Aws typedef std::future DeleteListenerOutcomeCallable; typedef std::future DeleteLoadBalancerOutcomeCallable; typedef std::future DeleteRuleOutcomeCallable; + typedef std::future DeleteSharedTrustStoreAssociationOutcomeCallable; typedef std::future DeleteTargetGroupOutcomeCallable; typedef std::future DeleteTrustStoreOutcomeCallable; typedef std::future DeregisterTargetsOutcomeCallable; @@ -231,6 +238,7 @@ namespace Aws typedef std::future DescribeTrustStoreAssociationsOutcomeCallable; typedef std::future DescribeTrustStoreRevocationsOutcomeCallable; typedef std::future DescribeTrustStoresOutcomeCallable; + typedef std::future GetResourcePolicyOutcomeCallable; typedef std::future GetTrustStoreCaCertificatesBundleOutcomeCallable; typedef std::future GetTrustStoreRevocationContentOutcomeCallable; typedef std::future ModifyListenerOutcomeCallable; @@ -264,6 +272,7 @@ namespace Aws typedef std::function&) > DeleteListenerResponseReceivedHandler; typedef std::function&) > DeleteLoadBalancerResponseReceivedHandler; typedef std::function&) > DeleteRuleResponseReceivedHandler; + typedef std::function&) > DeleteSharedTrustStoreAssociationResponseReceivedHandler; typedef std::function&) > DeleteTargetGroupResponseReceivedHandler; typedef std::function&) > DeleteTrustStoreResponseReceivedHandler; typedef std::function&) > DeregisterTargetsResponseReceivedHandler; @@ -281,6 +290,7 @@ namespace Aws typedef std::function&) > DescribeTrustStoreAssociationsResponseReceivedHandler; typedef std::function&) > DescribeTrustStoreRevocationsResponseReceivedHandler; typedef std::function&) > DescribeTrustStoresResponseReceivedHandler; + typedef std::function&) > GetResourcePolicyResponseReceivedHandler; typedef std::function&) > GetTrustStoreCaCertificatesBundleResponseReceivedHandler; typedef std::function&) > GetTrustStoreRevocationContentResponseReceivedHandler; typedef std::function&) > ModifyListenerResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DeleteSharedTrustStoreAssociationRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DeleteSharedTrustStoreAssociationRequest.h new file mode 100644 index 00000000000..4575313b416 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DeleteSharedTrustStoreAssociationRequest.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 ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + */ + class DeleteSharedTrustStoreAssociationRequest : public ElasticLoadBalancingv2Request + { + public: + AWS_ELASTICLOADBALANCINGV2_API DeleteSharedTrustStoreAssociationRequest(); + + // 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 "DeleteSharedTrustStoreAssociation"; } + + AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override; + + protected: + AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the trust store.

    + */ + inline const Aws::String& GetTrustStoreArn() const{ return m_trustStoreArn; } + inline bool TrustStoreArnHasBeenSet() const { return m_trustStoreArnHasBeenSet; } + inline void SetTrustStoreArn(const Aws::String& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = value; } + inline void SetTrustStoreArn(Aws::String&& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = std::move(value); } + inline void SetTrustStoreArn(const char* value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn.assign(value); } + inline DeleteSharedTrustStoreAssociationRequest& WithTrustStoreArn(const Aws::String& value) { SetTrustStoreArn(value); return *this;} + inline DeleteSharedTrustStoreAssociationRequest& WithTrustStoreArn(Aws::String&& value) { SetTrustStoreArn(std::move(value)); return *this;} + inline DeleteSharedTrustStoreAssociationRequest& WithTrustStoreArn(const char* value) { SetTrustStoreArn(value); return *this;} + ///@} + + ///@{ + /** + *

    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 DeleteSharedTrustStoreAssociationRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline DeleteSharedTrustStoreAssociationRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline DeleteSharedTrustStoreAssociationRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + private: + + Aws::String m_trustStoreArn; + bool m_trustStoreArnHasBeenSet = false; + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DeleteSharedTrustStoreAssociationResult.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DeleteSharedTrustStoreAssociationResult.h new file mode 100644 index 00000000000..d66379880d3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DeleteSharedTrustStoreAssociationResult.h @@ -0,0 +1,50 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + class DeleteSharedTrustStoreAssociationResult + { + public: + AWS_ELASTICLOADBALANCINGV2_API DeleteSharedTrustStoreAssociationResult(); + AWS_ELASTICLOADBALANCINGV2_API DeleteSharedTrustStoreAssociationResult(const Aws::AmazonWebServiceResult& result); + AWS_ELASTICLOADBALANCINGV2_API DeleteSharedTrustStoreAssociationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + 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 DeleteSharedTrustStoreAssociationResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline DeleteSharedTrustStoreAssociationResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTargetHealthRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTargetHealthRequest.h index 0dca1a999dd..34970b9a61e 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTargetHealthRequest.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTargetHealthRequest.h @@ -69,7 +69,7 @@ namespace Model ///@{ /** - *

    Used to inclue anomaly detection information.

    + *

    Used to include anomaly detection information.

    */ inline const Aws::Vector& GetInclude() const{ return m_include; } inline bool IncludeHasBeenSet() const { return m_includeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetResourcePolicyRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetResourcePolicyRequest.h new file mode 100644 index 00000000000..239cd16dbc7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetResourcePolicyRequest.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 ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + */ + class GetResourcePolicyRequest : public ElasticLoadBalancingv2Request + { + public: + AWS_ELASTICLOADBALANCINGV2_API GetResourcePolicyRequest(); + + // 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 "GetResourcePolicy"; } + + AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override; + + protected: + AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

    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 GetResourcePolicyRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline GetResourcePolicyRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline GetResourcePolicyRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetResourcePolicyResult.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetResourcePolicyResult.h new file mode 100644 index 00000000000..04aa9bc3b98 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetResourcePolicyResult.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 ElasticLoadBalancingv2 +{ +namespace Model +{ + class GetResourcePolicyResult + { + public: + AWS_ELASTICLOADBALANCINGV2_API GetResourcePolicyResult(); + AWS_ELASTICLOADBALANCINGV2_API GetResourcePolicyResult(const Aws::AmazonWebServiceResult& result); + AWS_ELASTICLOADBALANCINGV2_API GetResourcePolicyResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The content of the resource policy.

    + */ + inline const Aws::String& GetPolicy() const{ return m_policy; } + inline void SetPolicy(const Aws::String& value) { m_policy = value; } + inline void SetPolicy(Aws::String&& value) { m_policy = std::move(value); } + inline void SetPolicy(const char* value) { m_policy.assign(value); } + inline GetResourcePolicyResult& WithPolicy(const Aws::String& value) { SetPolicy(value); return *this;} + inline GetResourcePolicyResult& WithPolicy(Aws::String&& value) { SetPolicy(std::move(value)); return *this;} + inline GetResourcePolicyResult& WithPolicy(const char* value) { SetPolicy(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 GetResourcePolicyResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline GetResourcePolicyResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_policy; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/MutualAuthenticationAttributes.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/MutualAuthenticationAttributes.h index 08f44f9c68a..e929e09f924 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/MutualAuthenticationAttributes.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/MutualAuthenticationAttributes.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -79,6 +80,18 @@ namespace Model inline void SetIgnoreClientCertificateExpiry(bool value) { m_ignoreClientCertificateExpiryHasBeenSet = true; m_ignoreClientCertificateExpiry = value; } inline MutualAuthenticationAttributes& WithIgnoreClientCertificateExpiry(bool value) { SetIgnoreClientCertificateExpiry(value); return *this;} ///@} + + ///@{ + /** + *

    Indicates a shared trust stores association status.

    + */ + inline const TrustStoreAssociationStatusEnum& GetTrustStoreAssociationStatus() const{ return m_trustStoreAssociationStatus; } + inline bool TrustStoreAssociationStatusHasBeenSet() const { return m_trustStoreAssociationStatusHasBeenSet; } + inline void SetTrustStoreAssociationStatus(const TrustStoreAssociationStatusEnum& value) { m_trustStoreAssociationStatusHasBeenSet = true; m_trustStoreAssociationStatus = value; } + inline void SetTrustStoreAssociationStatus(TrustStoreAssociationStatusEnum&& value) { m_trustStoreAssociationStatusHasBeenSet = true; m_trustStoreAssociationStatus = std::move(value); } + inline MutualAuthenticationAttributes& WithTrustStoreAssociationStatus(const TrustStoreAssociationStatusEnum& value) { SetTrustStoreAssociationStatus(value); return *this;} + inline MutualAuthenticationAttributes& WithTrustStoreAssociationStatus(TrustStoreAssociationStatusEnum&& value) { SetTrustStoreAssociationStatus(std::move(value)); return *this;} + ///@} private: Aws::String m_mode; @@ -89,6 +102,9 @@ namespace Model bool m_ignoreClientCertificateExpiry; bool m_ignoreClientCertificateExpiryHasBeenSet = false; + + TrustStoreAssociationStatusEnum m_trustStoreAssociationStatus; + bool m_trustStoreAssociationStatusHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/SetIpAddressTypeRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/SetIpAddressTypeRequest.h index 17a10b00519..f7968e05686 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/SetIpAddressTypeRequest.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/SetIpAddressTypeRequest.h @@ -58,12 +58,16 @@ namespace Model * values are ipv4 (for only IPv4 addresses), dualstack * (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 * (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).

    - *

    [Network Load Balancers] The IP address type. The possible values are - * ipv4 (for only IPv4 addresses) and dualstack (for IPv4 - * and IPv6 addresses). You can’t specify dualstack for a load - * balancer with a UDP or TCP_UDP listener.

    [Gateway Load Balancers] The IP - * address type. The possible values are ipv4 (for only IPv4 - * addresses) and dualstack (for IPv4 and IPv6 addresses).

    + *

    Note: Application Load Balancer authentication only supports IPv4 addresses + * when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. + * Without a public IPv4 address the load balancer cannot complete the + * authentication process, resulting in HTTP 500 errors.

    [Network Load + * Balancers] The IP address type. The possible values are ipv4 (for + * only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). + * You can’t specify dualstack for a load balancer with a UDP or + * TCP_UDP listener.

    [Gateway Load Balancers] The IP address type. The + * possible values are ipv4 (for only IPv4 addresses) and + * dualstack (for IPv4 and IPv6 addresses).

    */ inline const IpAddressType& GetIpAddressType() const{ return m_ipAddressType; } inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStoreAssociationStatusEnum.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStoreAssociationStatusEnum.h new file mode 100644 index 00000000000..d5b327b28db --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStoreAssociationStatusEnum.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 ElasticLoadBalancingv2 +{ +namespace Model +{ + enum class TrustStoreAssociationStatusEnum + { + NOT_SET, + active, + removed + }; + +namespace TrustStoreAssociationStatusEnumMapper +{ +AWS_ELASTICLOADBALANCINGV2_API TrustStoreAssociationStatusEnum GetTrustStoreAssociationStatusEnumForName(const Aws::String& name); + +AWS_ELASTICLOADBALANCINGV2_API Aws::String GetNameForTrustStoreAssociationStatusEnum(TrustStoreAssociationStatusEnum value); +} // namespace TrustStoreAssociationStatusEnumMapper +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Client.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Client.cpp index e4945fdea69..2375fca6e67 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Client.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Client.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -49,6 +50,7 @@ #include #include #include +#include #include #include #include @@ -515,6 +517,32 @@ DeleteRuleOutcome ElasticLoadBalancingv2Client::DeleteRule(const DeleteRuleReque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteSharedTrustStoreAssociationOutcome ElasticLoadBalancingv2Client::DeleteSharedTrustStoreAssociation(const DeleteSharedTrustStoreAssociationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteSharedTrustStoreAssociation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteSharedTrustStoreAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteSharedTrustStoreAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteSharedTrustStoreAssociation, 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( + [&]()-> DeleteSharedTrustStoreAssociationOutcome { + 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, DeleteSharedTrustStoreAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteSharedTrustStoreAssociationOutcome(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()}}); +} + DeleteTargetGroupOutcome ElasticLoadBalancingv2Client::DeleteTargetGroup(const DeleteTargetGroupRequest& request) const { AWS_OPERATION_GUARD(DeleteTargetGroup); @@ -957,6 +985,32 @@ DescribeTrustStoresOutcome ElasticLoadBalancingv2Client::DescribeTrustStores(con {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetResourcePolicyOutcome ElasticLoadBalancingv2Client::GetResourcePolicy(const GetResourcePolicyRequest& request) const +{ + AWS_OPERATION_GUARD(GetResourcePolicy); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetResourcePolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetResourcePolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetResourcePolicy, 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( + [&]()-> GetResourcePolicyOutcome { + 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, GetResourcePolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetResourcePolicyOutcome(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()}}); +} + GetTrustStoreCaCertificatesBundleOutcome ElasticLoadBalancingv2Client::GetTrustStoreCaCertificatesBundle(const GetTrustStoreCaCertificatesBundleRequest& request) const { AWS_OPERATION_GUARD(GetTrustStoreCaCertificatesBundle); diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Errors.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Errors.cpp index 0987c15fb78..d8b5c2b4c5d 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Errors.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Errors.cpp @@ -21,46 +21,48 @@ namespace ElasticLoadBalancingv2ErrorMapper static const int AVAILABILITY_ZONE_NOT_SUPPORTED_HASH = HashingUtils::HashString("AvailabilityZoneNotSupported"); static const int INVALID_SCHEME_HASH = HashingUtils::HashString("InvalidScheme"); static const int INCOMPATIBLE_PROTOCOLS_HASH = HashingUtils::HashString("IncompatibleProtocols"); -static const int TOO_MANY_TARGETS_HASH = HashingUtils::HashString("TooManyTargets"); -static const int CA_CERTIFICATES_BUNDLE_NOT_FOUND_HASH = HashingUtils::HashString("CaCertificatesBundleNotFound"); static const int DUPLICATE_LISTENER_HASH = HashingUtils::HashString("DuplicateListener"); -static const int TOO_MANY_RULES_HASH = HashingUtils::HashString("TooManyRules"); -static const int LISTENER_NOT_FOUND_HASH = HashingUtils::HashString("ListenerNotFound"); static const int A_L_P_N_POLICY_NOT_SUPPORTED_HASH = HashingUtils::HashString("ALPNPolicyNotFound"); static const int HEALTH_UNAVAILABLE_HASH = HashingUtils::HashString("HealthUnavailable"); -static const int TOO_MANY_UNIQUE_TARGET_GROUPS_PER_LOAD_BALANCER_HASH = HashingUtils::HashString("TooManyUniqueTargetGroupsPerLoadBalancer"); static const int TOO_MANY_ACTIONS_HASH = HashingUtils::HashString("TooManyActions"); static const int REVOCATION_ID_NOT_FOUND_HASH = HashingUtils::HashString("RevocationIdNotFound"); -static const int ALLOCATION_ID_NOT_FOUND_HASH = HashingUtils::HashString("AllocationIdNotFound"); static const int TOO_MANY_CERTIFICATES_HASH = HashingUtils::HashString("TooManyCertificates"); -static const int TARGET_GROUP_NOT_FOUND_HASH = HashingUtils::HashString("TargetGroupNotFound"); -static const int REVOCATION_CONTENT_NOT_FOUND_HASH = HashingUtils::HashString("RevocationContentNotFound"); -static const int RESOURCE_IN_USE_HASH = HashingUtils::HashString("ResourceInUse"); static const int DUPLICATE_LOAD_BALANCER_NAME_HASH = HashingUtils::HashString("DuplicateLoadBalancerName"); static const int LOAD_BALANCER_NOT_FOUND_HASH = HashingUtils::HashString("LoadBalancerNotFound"); -static const int OPERATION_NOT_PERMITTED_HASH = HashingUtils::HashString("OperationNotPermitted"); +static const int DELETE_ASSOCIATION_SAME_ACCOUNT_HASH = HashingUtils::HashString("DeleteAssociationSameAccount"); static const int INVALID_SUBNET_HASH = HashingUtils::HashString("InvalidSubnet"); static const int INVALID_LOAD_BALANCER_ACTION_HASH = HashingUtils::HashString("InvalidLoadBalancerAction"); static const int DUPLICATE_TARGET_GROUP_NAME_HASH = HashingUtils::HashString("DuplicateTargetGroupName"); static const int S_S_L_POLICY_NOT_FOUND_HASH = HashingUtils::HashString("SSLPolicyNotFound"); -static const int TOO_MANY_TARGET_GROUPS_HASH = HashingUtils::HashString("TooManyTargetGroups"); -static const int INVALID_CA_CERTIFICATES_BUNDLE_HASH = HashingUtils::HashString("InvalidCaCertificatesBundle"); static const int TOO_MANY_LISTENERS_HASH = HashingUtils::HashString("TooManyListeners"); static const int DUPLICATE_TAG_KEYS_HASH = HashingUtils::HashString("DuplicateTagKeys"); static const int RULE_NOT_FOUND_HASH = HashingUtils::HashString("RuleNotFound"); -static const int TOO_MANY_TRUST_STORE_REVOCATION_ENTRIES_HASH = HashingUtils::HashString("TooManyTrustStoreRevocationEntries"); static const int TOO_MANY_TRUST_STORES_HASH = HashingUtils::HashString("TooManyTrustStores"); -static const int PRIORITY_IN_USE_HASH = HashingUtils::HashString("PriorityInUse"); -static const int TOO_MANY_REGISTRATIONS_FOR_TARGET_ID_HASH = HashingUtils::HashString("TooManyRegistrationsForTargetId"); -static const int INVALID_CONFIGURATION_REQUEST_HASH = HashingUtils::HashString("InvalidConfigurationRequest"); static const int UNSUPPORTED_PROTOCOL_HASH = HashingUtils::HashString("UnsupportedProtocol"); static const int TRUST_STORE_IN_USE_HASH = HashingUtils::HashString("TrustStoreInUse"); -static const int INVALID_TARGET_HASH = HashingUtils::HashString("InvalidTarget"); static const int TOO_MANY_TAGS_HASH = HashingUtils::HashString("TooManyTags"); static const int SUBNET_NOT_FOUND_HASH = HashingUtils::HashString("SubnetNotFound"); +static const int CERTIFICATE_NOT_FOUND_HASH = HashingUtils::HashString("CertificateNotFound"); +static const int TOO_MANY_TARGETS_HASH = HashingUtils::HashString("TooManyTargets"); +static const int CA_CERTIFICATES_BUNDLE_NOT_FOUND_HASH = HashingUtils::HashString("CaCertificatesBundleNotFound"); +static const int TOO_MANY_RULES_HASH = HashingUtils::HashString("TooManyRules"); +static const int LISTENER_NOT_FOUND_HASH = HashingUtils::HashString("ListenerNotFound"); +static const int TOO_MANY_UNIQUE_TARGET_GROUPS_PER_LOAD_BALANCER_HASH = HashingUtils::HashString("TooManyUniqueTargetGroupsPerLoadBalancer"); +static const int ALLOCATION_ID_NOT_FOUND_HASH = HashingUtils::HashString("AllocationIdNotFound"); +static const int TARGET_GROUP_NOT_FOUND_HASH = HashingUtils::HashString("TargetGroupNotFound"); +static const int REVOCATION_CONTENT_NOT_FOUND_HASH = HashingUtils::HashString("RevocationContentNotFound"); +static const int RESOURCE_IN_USE_HASH = HashingUtils::HashString("ResourceInUse"); +static const int TRUST_STORE_ASSOCIATION_NOT_FOUND_HASH = HashingUtils::HashString("AssociationNotFound"); +static const int OPERATION_NOT_PERMITTED_HASH = HashingUtils::HashString("OperationNotPermitted"); +static const int TOO_MANY_TARGET_GROUPS_HASH = HashingUtils::HashString("TooManyTargetGroups"); +static const int INVALID_CA_CERTIFICATES_BUNDLE_HASH = HashingUtils::HashString("InvalidCaCertificatesBundle"); +static const int TOO_MANY_TRUST_STORE_REVOCATION_ENTRIES_HASH = HashingUtils::HashString("TooManyTrustStoreRevocationEntries"); +static const int PRIORITY_IN_USE_HASH = HashingUtils::HashString("PriorityInUse"); +static const int TOO_MANY_REGISTRATIONS_FOR_TARGET_ID_HASH = HashingUtils::HashString("TooManyRegistrationsForTargetId"); +static const int INVALID_CONFIGURATION_REQUEST_HASH = HashingUtils::HashString("InvalidConfigurationRequest"); +static const int INVALID_TARGET_HASH = HashingUtils::HashString("InvalidTarget"); static const int TRUST_STORE_NOT_READY_HASH = HashingUtils::HashString("TrustStoreNotReady"); static const int INVALID_SECURITY_GROUP_HASH = HashingUtils::HashString("InvalidSecurityGroup"); -static const int CERTIFICATE_NOT_FOUND_HASH = HashingUtils::HashString("CertificateNotFound"); static const int TRUST_STORE_NOT_FOUND_HASH = HashingUtils::HashString("TrustStoreNotFound"); static const int INVALID_REVOCATION_CONTENT_HASH = HashingUtils::HashString("InvalidRevocationContent"); static const int DUPLICATE_TRUST_STORE_NAME_HASH = HashingUtils::HashString("DuplicateTrustStoreName"); @@ -84,26 +86,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::INCOMPATIBLE_PROTOCOLS), RetryableType::NOT_RETRYABLE); } - else if (hashCode == TOO_MANY_TARGETS_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_TARGETS), RetryableType::NOT_RETRYABLE); - } - else if (hashCode == CA_CERTIFICATES_BUNDLE_NOT_FOUND_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::CA_CERTIFICATES_BUNDLE_NOT_FOUND), RetryableType::NOT_RETRYABLE); - } else if (hashCode == DUPLICATE_LISTENER_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::DUPLICATE_LISTENER), RetryableType::NOT_RETRYABLE); } - else if (hashCode == TOO_MANY_RULES_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_RULES), RetryableType::NOT_RETRYABLE); - } - else if (hashCode == LISTENER_NOT_FOUND_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::LISTENER_NOT_FOUND), RetryableType::NOT_RETRYABLE); - } else if (hashCode == A_L_P_N_POLICY_NOT_SUPPORTED_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::A_L_P_N_POLICY_NOT_SUPPORTED), RetryableType::NOT_RETRYABLE); @@ -112,10 +98,6 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::HEALTH_UNAVAILABLE), RetryableType::RETRYABLE); } - else if (hashCode == TOO_MANY_UNIQUE_TARGET_GROUPS_PER_LOAD_BALANCER_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_UNIQUE_TARGET_GROUPS_PER_LOAD_BALANCER), RetryableType::NOT_RETRYABLE); - } else if (hashCode == TOO_MANY_ACTIONS_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_ACTIONS), RetryableType::NOT_RETRYABLE); @@ -124,26 +106,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::REVOCATION_ID_NOT_FOUND), RetryableType::NOT_RETRYABLE); } - else if (hashCode == ALLOCATION_ID_NOT_FOUND_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::ALLOCATION_ID_NOT_FOUND), RetryableType::NOT_RETRYABLE); - } else if (hashCode == TOO_MANY_CERTIFICATES_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_CERTIFICATES), RetryableType::NOT_RETRYABLE); } - else if (hashCode == TARGET_GROUP_NOT_FOUND_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::TARGET_GROUP_NOT_FOUND), RetryableType::NOT_RETRYABLE); - } - else if (hashCode == REVOCATION_CONTENT_NOT_FOUND_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::REVOCATION_CONTENT_NOT_FOUND), RetryableType::NOT_RETRYABLE); - } - else if (hashCode == RESOURCE_IN_USE_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::RESOURCE_IN_USE), RetryableType::NOT_RETRYABLE); - } else if (hashCode == DUPLICATE_LOAD_BALANCER_NAME_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::DUPLICATE_LOAD_BALANCER_NAME), RetryableType::NOT_RETRYABLE); @@ -152,9 +118,9 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::LOAD_BALANCER_NOT_FOUND), RetryableType::NOT_RETRYABLE); } - else if (hashCode == OPERATION_NOT_PERMITTED_HASH) + else if (hashCode == DELETE_ASSOCIATION_SAME_ACCOUNT_HASH) { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::OPERATION_NOT_PERMITTED), RetryableType::NOT_RETRYABLE); + return AWSError(static_cast(ElasticLoadBalancingv2Errors::DELETE_ASSOCIATION_SAME_ACCOUNT), RetryableType::NOT_RETRYABLE); } else if (hashCode == INVALID_SUBNET_HASH) { @@ -172,14 +138,6 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::S_S_L_POLICY_NOT_FOUND), RetryableType::NOT_RETRYABLE); } - else if (hashCode == TOO_MANY_TARGET_GROUPS_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_TARGET_GROUPS), RetryableType::NOT_RETRYABLE); - } - else if (hashCode == INVALID_CA_CERTIFICATES_BUNDLE_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::INVALID_CA_CERTIFICATES_BUNDLE), RetryableType::NOT_RETRYABLE); - } else if (hashCode == TOO_MANY_LISTENERS_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_LISTENERS), RetryableType::NOT_RETRYABLE); @@ -192,26 +150,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::RULE_NOT_FOUND), RetryableType::NOT_RETRYABLE); } - else if (hashCode == TOO_MANY_TRUST_STORE_REVOCATION_ENTRIES_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_TRUST_STORE_REVOCATION_ENTRIES), RetryableType::NOT_RETRYABLE); - } else if (hashCode == TOO_MANY_TRUST_STORES_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_TRUST_STORES), RetryableType::NOT_RETRYABLE); } - else if (hashCode == PRIORITY_IN_USE_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::PRIORITY_IN_USE), RetryableType::NOT_RETRYABLE); - } - else if (hashCode == TOO_MANY_REGISTRATIONS_FOR_TARGET_ID_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_REGISTRATIONS_FOR_TARGET_ID), RetryableType::NOT_RETRYABLE); - } - else if (hashCode == INVALID_CONFIGURATION_REQUEST_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::INVALID_CONFIGURATION_REQUEST), RetryableType::NOT_RETRYABLE); - } else if (hashCode == UNSUPPORTED_PROTOCOL_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::UNSUPPORTED_PROTOCOL), RetryableType::NOT_RETRYABLE); @@ -220,10 +162,6 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::TRUST_STORE_IN_USE), RetryableType::NOT_RETRYABLE); } - else if (hashCode == INVALID_TARGET_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::INVALID_TARGET), RetryableType::NOT_RETRYABLE); - } else if (hashCode == TOO_MANY_TAGS_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_TAGS), RetryableType::NOT_RETRYABLE); @@ -232,6 +170,82 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::SUBNET_NOT_FOUND), RetryableType::NOT_RETRYABLE); } + else if (hashCode == CERTIFICATE_NOT_FOUND_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::CERTIFICATE_NOT_FOUND), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == TOO_MANY_TARGETS_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_TARGETS), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == CA_CERTIFICATES_BUNDLE_NOT_FOUND_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::CA_CERTIFICATES_BUNDLE_NOT_FOUND), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == TOO_MANY_RULES_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_RULES), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == LISTENER_NOT_FOUND_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::LISTENER_NOT_FOUND), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == TOO_MANY_UNIQUE_TARGET_GROUPS_PER_LOAD_BALANCER_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_UNIQUE_TARGET_GROUPS_PER_LOAD_BALANCER), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == ALLOCATION_ID_NOT_FOUND_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::ALLOCATION_ID_NOT_FOUND), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == TARGET_GROUP_NOT_FOUND_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::TARGET_GROUP_NOT_FOUND), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == REVOCATION_CONTENT_NOT_FOUND_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::REVOCATION_CONTENT_NOT_FOUND), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == RESOURCE_IN_USE_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::RESOURCE_IN_USE), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == TRUST_STORE_ASSOCIATION_NOT_FOUND_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::TRUST_STORE_ASSOCIATION_NOT_FOUND), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == OPERATION_NOT_PERMITTED_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::OPERATION_NOT_PERMITTED), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == TOO_MANY_TARGET_GROUPS_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_TARGET_GROUPS), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INVALID_CA_CERTIFICATES_BUNDLE_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::INVALID_CA_CERTIFICATES_BUNDLE), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == TOO_MANY_TRUST_STORE_REVOCATION_ENTRIES_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_TRUST_STORE_REVOCATION_ENTRIES), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == PRIORITY_IN_USE_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::PRIORITY_IN_USE), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == TOO_MANY_REGISTRATIONS_FOR_TARGET_ID_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_REGISTRATIONS_FOR_TARGET_ID), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INVALID_CONFIGURATION_REQUEST_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::INVALID_CONFIGURATION_REQUEST), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INVALID_TARGET_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::INVALID_TARGET), RetryableType::NOT_RETRYABLE); + } else if (hashCode == TRUST_STORE_NOT_READY_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::TRUST_STORE_NOT_READY), RetryableType::NOT_RETRYABLE); @@ -240,10 +254,6 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::INVALID_SECURITY_GROUP), RetryableType::NOT_RETRYABLE); } - else if (hashCode == CERTIFICATE_NOT_FOUND_HASH) - { - return AWSError(static_cast(ElasticLoadBalancingv2Errors::CERTIFICATE_NOT_FOUND), RetryableType::NOT_RETRYABLE); - } else if (hashCode == TRUST_STORE_NOT_FOUND_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::TRUST_STORE_NOT_FOUND), RetryableType::NOT_RETRYABLE); diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DeleteSharedTrustStoreAssociationRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DeleteSharedTrustStoreAssociationRequest.cpp new file mode 100644 index 00000000000..0268dbaa560 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DeleteSharedTrustStoreAssociationRequest.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::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils; + +DeleteSharedTrustStoreAssociationRequest::DeleteSharedTrustStoreAssociationRequest() : + m_trustStoreArnHasBeenSet(false), + m_resourceArnHasBeenSet(false) +{ +} + +Aws::String DeleteSharedTrustStoreAssociationRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=DeleteSharedTrustStoreAssociation&"; + if(m_trustStoreArnHasBeenSet) + { + ss << "TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + + if(m_resourceArnHasBeenSet) + { + ss << "ResourceArn=" << StringUtils::URLEncode(m_resourceArn.c_str()) << "&"; + } + + ss << "Version=2015-12-01"; + return ss.str(); +} + + +void DeleteSharedTrustStoreAssociationRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DeleteSharedTrustStoreAssociationResult.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DeleteSharedTrustStoreAssociationResult.cpp new file mode 100644 index 00000000000..5755991a8a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DeleteSharedTrustStoreAssociationResult.cpp @@ -0,0 +1,49 @@ +/** + * 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::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +DeleteSharedTrustStoreAssociationResult::DeleteSharedTrustStoreAssociationResult() +{ +} + +DeleteSharedTrustStoreAssociationResult::DeleteSharedTrustStoreAssociationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteSharedTrustStoreAssociationResult& DeleteSharedTrustStoreAssociationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "DeleteSharedTrustStoreAssociationResult")) + { + resultNode = rootNode.FirstChild("DeleteSharedTrustStoreAssociationResult"); + } + + if(!resultNode.IsNull()) + { + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::ElasticLoadBalancingv2::Model::DeleteSharedTrustStoreAssociationResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetResourcePolicyRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetResourcePolicyRequest.cpp new file mode 100644 index 00000000000..f25ac9fe1dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetResourcePolicyRequest.cpp @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils; + +GetResourcePolicyRequest::GetResourcePolicyRequest() : + m_resourceArnHasBeenSet(false) +{ +} + +Aws::String GetResourcePolicyRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=GetResourcePolicy&"; + if(m_resourceArnHasBeenSet) + { + ss << "ResourceArn=" << StringUtils::URLEncode(m_resourceArn.c_str()) << "&"; + } + + ss << "Version=2015-12-01"; + return ss.str(); +} + + +void GetResourcePolicyRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetResourcePolicyResult.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetResourcePolicyResult.cpp new file mode 100644 index 00000000000..c5a7bfcce2b --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetResourcePolicyResult.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 + +using namespace Aws::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +GetResourcePolicyResult::GetResourcePolicyResult() +{ +} + +GetResourcePolicyResult::GetResourcePolicyResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetResourcePolicyResult& GetResourcePolicyResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "GetResourcePolicyResult")) + { + resultNode = rootNode.FirstChild("GetResourcePolicyResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode policyNode = resultNode.FirstChild("Policy"); + if(!policyNode.IsNull()) + { + m_policy = Aws::Utils::Xml::DecodeEscapedXmlText(policyNode.GetText()); + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::ElasticLoadBalancingv2::Model::GetResourcePolicyResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/MutualAuthenticationAttributes.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/MutualAuthenticationAttributes.cpp index 3eff839c8a4..8ffa838573c 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/MutualAuthenticationAttributes.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/MutualAuthenticationAttributes.cpp @@ -24,7 +24,9 @@ MutualAuthenticationAttributes::MutualAuthenticationAttributes() : m_modeHasBeenSet(false), m_trustStoreArnHasBeenSet(false), m_ignoreClientCertificateExpiry(false), - m_ignoreClientCertificateExpiryHasBeenSet(false) + m_ignoreClientCertificateExpiryHasBeenSet(false), + m_trustStoreAssociationStatus(TrustStoreAssociationStatusEnum::NOT_SET), + m_trustStoreAssociationStatusHasBeenSet(false) { } @@ -58,6 +60,12 @@ MutualAuthenticationAttributes& MutualAuthenticationAttributes::operator =(const m_ignoreClientCertificateExpiry = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(ignoreClientCertificateExpiryNode.GetText()).c_str()).c_str()); m_ignoreClientCertificateExpiryHasBeenSet = true; } + XmlNode trustStoreAssociationStatusNode = resultNode.FirstChild("TrustStoreAssociationStatus"); + if(!trustStoreAssociationStatusNode.IsNull()) + { + m_trustStoreAssociationStatus = TrustStoreAssociationStatusEnumMapper::GetTrustStoreAssociationStatusEnumForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(trustStoreAssociationStatusNode.GetText()).c_str()).c_str()); + m_trustStoreAssociationStatusHasBeenSet = true; + } } return *this; @@ -80,6 +88,11 @@ void MutualAuthenticationAttributes::OutputToStream(Aws::OStream& oStream, const oStream << location << index << locationValue << ".IgnoreClientCertificateExpiry=" << std::boolalpha << m_ignoreClientCertificateExpiry << "&"; } + if(m_trustStoreAssociationStatusHasBeenSet) + { + oStream << location << index << locationValue << ".TrustStoreAssociationStatus=" << TrustStoreAssociationStatusEnumMapper::GetNameForTrustStoreAssociationStatusEnum(m_trustStoreAssociationStatus) << "&"; + } + } void MutualAuthenticationAttributes::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -96,6 +109,10 @@ void MutualAuthenticationAttributes::OutputToStream(Aws::OStream& oStream, const { oStream << location << ".IgnoreClientCertificateExpiry=" << std::boolalpha << m_ignoreClientCertificateExpiry << "&"; } + if(m_trustStoreAssociationStatusHasBeenSet) + { + oStream << location << ".TrustStoreAssociationStatus=" << TrustStoreAssociationStatusEnumMapper::GetNameForTrustStoreAssociationStatusEnum(m_trustStoreAssociationStatus) << "&"; + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStoreAssociationStatusEnum.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStoreAssociationStatusEnum.cpp new file mode 100644 index 00000000000..c3c27336d7f --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStoreAssociationStatusEnum.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 ElasticLoadBalancingv2 + { + namespace Model + { + namespace TrustStoreAssociationStatusEnumMapper + { + + static const int active_HASH = HashingUtils::HashString("active"); + static const int removed_HASH = HashingUtils::HashString("removed"); + + + TrustStoreAssociationStatusEnum GetTrustStoreAssociationStatusEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == active_HASH) + { + return TrustStoreAssociationStatusEnum::active; + } + else if (hashCode == removed_HASH) + { + return TrustStoreAssociationStatusEnum::removed; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TrustStoreAssociationStatusEnum::NOT_SET; + } + + Aws::String GetNameForTrustStoreAssociationStatusEnum(TrustStoreAssociationStatusEnum enumValue) + { + switch(enumValue) + { + case TrustStoreAssociationStatusEnum::NOT_SET: + return {}; + case TrustStoreAssociationStatusEnum::active: + return "active"; + case TrustStoreAssociationStatusEnum::removed: + return "removed"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TrustStoreAssociationStatusEnumMapper + } // namespace Model + } // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClient.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClient.h index 0124a188355..1463053a935 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClient.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClient.h @@ -282,12 +282,16 @@ namespace NetworkFirewall } /** - *

    Creates an Network Firewall TLS inspection configuration. A TLS inspection - * configuration contains Certificate Manager certificate associations between and - * the scope configurations that Network Firewall uses to decrypt and re-encrypt - * traffic traveling through your firewall.

    After you create a TLS - * inspection configuration, you can associate it with a new firewall policy.

    - *

    To update the settings for a TLS inspection configuration, use + *

    Creates an Network Firewall TLS inspection configuration. Network Firewall + * uses TLS inspection configurations to decrypt your firewall's inbound and + * outbound SSL/TLS traffic. After decryption, Network Firewall inspects the + * traffic according to your firewall policy's stateful rules, and then re-encrypts + * it before sending it to its destination. You can enable inspection of your + * firewall's inbound traffic, outbound traffic, or both. To use TLS inspection + * with your firewall, you must first import or provision certificates using ACM, + * create a TLS inspection configuration, add that configuration to a new firewall + * policy, and then associate that policy with your firewall.

    To update the + * settings for a TLS inspection configuration, use * UpdateTLSInspectionConfiguration.

    To manage a TLS inspection * configuration's tags, use the standard Amazon Web Services resource tagging * operations, ListTagsForResource, TagResource, and diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/LogDestinationConfig.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/LogDestinationConfig.h index df888811ca7..b44bd2b9c59 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/LogDestinationConfig.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/LogDestinationConfig.h @@ -29,12 +29,9 @@ namespace Model /** *

    Defines where Network Firewall sends logs for the firewall for one log type. * This is used in LoggingConfiguration. You can send each type of log to an - * Amazon S3 bucket, a CloudWatch log group, or a Kinesis Data Firehose delivery - * stream.

    Network Firewall generates logs for stateful rule groups. You can - * save alert and flow log types. The stateful rules engine records flow logs for - * all network traffic that it receives. It records alert logs for traffic that - * matches stateful rules that have the rule action set to DROP or - * ALERT.

    See Also:

    + *

    Network Firewall generates logs for stateful rule groups. You can save alert, + * flow, and TLS log types.

    See Also:

    AWS * API Reference

    */ @@ -49,9 +46,19 @@ namespace Model ///@{ /** - *

    The type of log to send. Alert logs report traffic that matches a - * StatefulRule with an action setting that sends an alert log message. Flow - * logs are standard network traffic flow logs.

    + *

    The type of log to record. You can record the following types of logs from + * your Network Firewall stateful engine.

    • ALERT - + * Logs for traffic that matches your stateful rules and that have an action that + * sends an alert. A stateful rule sends alerts for the rule actions DROP, ALERT, + * and REJECT. For more information, see StatefulRule.

    • + * FLOW - Standard network traffic flow logs. The stateful rules + * engine records flow logs for all network traffic that it receives. Each flow log + * record captures the network flow for a specific standard stateless rule + * group.

    • TLS - Logs for events that are related to + * TLS inspection. For more information, see Inspecting + * SSL/TLS traffic with TLS inspection configurations in the Network + * Firewall Developer Guide.

    */ inline const LogType& GetLogType() const{ return m_logType; } inline bool LogTypeHasBeenSet() const { return m_logTypeHasBeenSet; } @@ -64,8 +71,7 @@ namespace Model ///@{ /** *

    The type of storage destination to send these logs to. You can send logs to - * an Amazon S3 bucket, a CloudWatch log group, or a Kinesis Data Firehose delivery - * stream.

    + * an Amazon S3 bucket, a CloudWatch log group, or a Firehose delivery stream.

    */ inline const LogDestinationType& GetLogDestinationType() const{ return m_logDestinationType; } inline bool LogDestinationTypeHasBeenSet() const { return m_logDestinationTypeHasBeenSet; } @@ -80,17 +86,17 @@ namespace Model *

    The named location for the logs, provided in a key:value mapping that is * specific to the chosen destination type.

    • For an Amazon S3 * bucket, provide the name of the bucket, with key bucketName, and - * optionally provide a prefix, with key prefix. The following example - * specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET and the - * prefix alerts:

      "LogDestination": { "bucketName": + * optionally provide a prefix, with key prefix.

      The following + * example specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET and + * the prefix alerts:

      "LogDestination": { "bucketName": * "DOC-EXAMPLE-BUCKET", "prefix": "alerts" }

    • For a * CloudWatch log group, provide the name of the CloudWatch log group, with key * logGroup. The following example specifies a log group named * alert-log-group:

      "LogDestination": { "logGroup": - * "alert-log-group" }

    • For a Kinesis Data Firehose - * delivery stream, provide the name of the delivery stream, with key - * deliveryStream. The following example specifies a delivery stream - * named alert-delivery-stream:

      "LogDestination": { + * "alert-log-group" }

    • For a Firehose delivery stream, + * provide the name of the delivery stream, with key deliveryStream. + * The following example specifies a delivery stream named + * alert-delivery-stream:

      "LogDestination": { * "deliveryStream": "alert-delivery-stream" }

    */ inline const Aws::Map& GetLogDestination() const{ return m_logDestination; } diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/LogType.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/LogType.h index a0ab0249e30..fc23671f496 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/LogType.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/LogType.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, ALERT, - FLOW + FLOW, + TLS }; namespace LogTypeMapper diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulRule.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulRule.h index a893ab770a2..ac631b4deea 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulRule.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulRule.h @@ -60,7 +60,11 @@ namespace Model * use this action to test a rule that you intend to use to drop traffic. You can * enable the rule with ALERT action, verify in the logs that the rule * is filtering as you want, then change the action to DROP.

    - * + *
  • REJECT - Drops traffic that matches the conditions of the + * stateful rule, and sends a TCP reset packet back to sender of the packet. A TCP + * reset packet is a packet with no payload and an RST bit contained in the TCP + * header flags. REJECT is available only for TCP traffic. This option doesn't + * support FTP or IMAP protocols.

  • */ inline const StatefulAction& GetAction() const{ return m_action; } inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/LogType.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/LogType.cpp index 999fda2e3ba..16c9fd8287b 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/model/LogType.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/LogType.cpp @@ -22,6 +22,7 @@ namespace Aws static const int ALERT_HASH = HashingUtils::HashString("ALERT"); static const int FLOW_HASH = HashingUtils::HashString("FLOW"); + static const int TLS_HASH = HashingUtils::HashString("TLS"); LogType GetLogTypeForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return LogType::FLOW; } + else if (hashCode == TLS_HASH) + { + return LogType::TLS; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "ALERT"; case LogType::FLOW: return "FLOW"; + case LogType::TLS: + return "TLS"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/model/InstanceTypeItem.h b/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/model/InstanceTypeItem.h index 5659608a689..ebb02c33a07 100644 --- a/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/model/InstanceTypeItem.h +++ b/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/model/InstanceTypeItem.h @@ -48,10 +48,23 @@ namespace Model inline InstanceTypeItem& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} inline InstanceTypeItem& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} ///@} + + ///@{ + /** + *

    The number of default VCPUs in an instance type.

    + */ + inline int GetVCPUs() const{ return m_vCPUs; } + inline bool VCPUsHasBeenSet() const { return m_vCPUsHasBeenSet; } + inline void SetVCPUs(int value) { m_vCPUsHasBeenSet = true; m_vCPUs = value; } + inline InstanceTypeItem& WithVCPUs(int value) { SetVCPUs(value); return *this;} + ///@} private: Aws::String m_instanceType; bool m_instanceTypeHasBeenSet = false; + + int m_vCPUs; + bool m_vCPUsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-outposts/source/model/InstanceTypeItem.cpp b/generated/src/aws-cpp-sdk-outposts/source/model/InstanceTypeItem.cpp index 361c46188a2..45baf24d0b6 100644 --- a/generated/src/aws-cpp-sdk-outposts/source/model/InstanceTypeItem.cpp +++ b/generated/src/aws-cpp-sdk-outposts/source/model/InstanceTypeItem.cpp @@ -19,7 +19,9 @@ namespace Model { InstanceTypeItem::InstanceTypeItem() : - m_instanceTypeHasBeenSet(false) + m_instanceTypeHasBeenSet(false), + m_vCPUs(0), + m_vCPUsHasBeenSet(false) { } @@ -38,6 +40,13 @@ InstanceTypeItem& InstanceTypeItem::operator =(JsonView jsonValue) m_instanceTypeHasBeenSet = true; } + if(jsonValue.ValueExists("VCPUs")) + { + m_vCPUs = jsonValue.GetInteger("VCPUs"); + + m_vCPUsHasBeenSet = true; + } + return *this; } @@ -51,6 +60,12 @@ JsonValue InstanceTypeItem::Jsonize() const } + if(m_vCPUsHasBeenSet) + { + payload.WithInteger("VCPUs", m_vCPUs); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClient.h b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClient.h index 67e0f44823f..30925cdb0d6 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClient.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClient.h @@ -16,22 +16,21 @@ namespace Aws namespace SFN { /** - * Step Functions

    Step Functions is a service that lets you - * coordinate the components of distributed applications and microservices using - * visual workflows.

    You can use Step Functions to build applications from - * individual components, each of which performs a discrete function, or - * task, allowing you to scale and change applications quickly. Step - * Functions provides a console that helps visualize the components of your - * application as a series of steps. Step Functions automatically triggers and - * tracks each step, and retries steps when there are errors, so your application - * executes predictably and in the right order every time. Step Functions logs the - * state of each step, so you can quickly diagnose and debug any issues.

    - *

    Step Functions manages operations and underlying infrastructure to ensure - * your application is available at any scale. You can run tasks on Amazon Web - * Services, your own servers, or any system that has access to Amazon Web - * Services. You can access and use Step Functions using the console, the Amazon - * Web Services SDKs, or an HTTP API. For more information about Step Functions, - * see the Step Functions

    Step Functions coordinates the components + * of distributed applications and microservices using visual workflows.

    You + * can use Step Functions to build applications from individual components, each of + * which performs a discrete function, or task, allowing you to scale and + * change applications quickly. Step Functions provides a console that helps + * visualize the components of your application as a series of steps. Step + * Functions automatically triggers and tracks each step, and retries steps when + * there are errors, so your application executes predictably and in the right + * order every time. Step Functions logs the state of each step, so you can quickly + * diagnose and debug any issues.

    Step Functions manages operations and + * underlying infrastructure to ensure your application is available at any scale. + * You can run tasks on Amazon Web Services, your own servers, or any system that + * has access to Amazon Web Services. You can access and use Step Functions using + * the console, the Amazon Web Services SDKs, or an HTTP API. For more information + * about Step Functions, see the Step * Functions Developer Guide .

    If you use the Step * Functions API actions using Amazon Web Services SDK integrations, make sure the @@ -146,19 +145,25 @@ namespace SFN * States Language in the Step Functions User Guide.

    If you set the * publish parameter of this API action to true, it * publishes version 1 as the first revision of the state machine.

    - *

    This operation is eventually consistent. The results are best effort - * and may not reflect very recent updates and changes.

    + *

    For additional control over security, you can encrypt your data using a + * customer-managed key for Step Functions state machines. You can configure + * a symmetric KMS key and data key reuse period when creating or updating a + * State Machine. The execution history and state machine definition will be + * encrypted with the key applied to the State Machine.

    This + * operation is eventually consistent. The results are best effort and may not + * reflect very recent updates and changes.

    * CreateStateMachine is an idempotent API. Subsequent requests won’t * create a duplicate resource if it was already created. * CreateStateMachine's idempotency check is based on the state * machine name, definition, type, - * LoggingConfiguration, and TracingConfiguration. The - * check is also based on the publish and - * versionDescription parameters. If a following request has a - * different roleArn or tags, Step Functions will ignore - * these differences and treat it as an idempotent request of the previous. In this - * case, roleArn and tags will not be updated, even if - * they are different.

    See Also:

    LoggingConfiguration
    , TracingConfiguration, and + * EncryptionConfiguration The check is also based on the + * publish and versionDescription parameters. If a + * following request has a different roleArn or tags, + * Step Functions will ignore these differences and treat it as an idempotent + * request of the previous. In this case, roleArn and + * tags will not be updated, even if they are different.

    + *

    See Also:

    AWS * API Reference

    */ @@ -1009,7 +1014,12 @@ namespace SFN * pattern, and optionally Task states using the job * run pattern to report that the task identified by the taskToken - * failed.

    See Also:

    For an execution with encryption enabled, Step Functions will + * encrypt the error and cause fields using the KMS key for the execution role.

    + *

    A caller can mark a task as fail without using any KMS permissions in the + * execution role if the caller provides a null value for both error + * and cause fields because no data needs to be + * encrypted.

    See Also:

    AWS * API Reference

    */ @@ -1198,7 +1208,12 @@ namespace SFN /** *

    Stops an execution.

    This API action is not supported by - * EXPRESS state machines.

    See Also:

    EXPRESS state machines.

    For an execution with encryption + * enabled, Step Functions will encrypt the error and cause fields using the KMS + * key for the execution role.

    A caller can stop an execution without using + * any KMS permissions in the execution role if the caller provides a null value + * for both error and cause fields because no data needs + * to be encrypted.

    See Also:

    AWS * API Reference

    */ @@ -1374,13 +1389,13 @@ namespace SFN /** *

    Updates an existing state machine by modifying its definition, - * roleArn, or loggingConfiguration. Running executions - * will continue to use the previous definition and - * roleArn. You must include at least one of definition - * or roleArn or you will receive a - * MissingRequiredParameter error.

    A qualified state machine - * ARN refers to a Distributed Map state defined within a state machine. For - * example, the qualified state machine ARN + * roleArn, loggingConfiguration, or + * EncryptionConfiguration. Running executions will continue to use + * the previous definition and roleArn. You must include + * at least one of definition or roleArn or you will + * receive a MissingRequiredParameter error.

    A qualified state + * machine ARN refers to a Distributed Map state defined within a state + * machine. For example, the qualified state machine ARN * arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel * refers to a Distributed Map state with a label mapStateLabel * in the state machine named stateMachineName.

    A qualified diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNErrors.h b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNErrors.h index 4daf3fcdade..0978586b946 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNErrors.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNErrors.h @@ -47,7 +47,8 @@ enum class SFNErrors UNKNOWN = 100, /////////////////////////////////////////////////////////////////////////////////////////// - ACTIVITY_DOES_NOT_EXIST= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + ACTIVITY_ALREADY_EXISTS= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + ACTIVITY_DOES_NOT_EXIST, ACTIVITY_LIMIT_EXCEEDED, ACTIVITY_WORKER_LIMIT_EXCEEDED, CONFLICT, @@ -57,12 +58,16 @@ enum class SFNErrors EXECUTION_NOT_REDRIVABLE, INVALID_ARN, INVALID_DEFINITION, + INVALID_ENCRYPTION_CONFIGURATION, INVALID_EXECUTION_INPUT, INVALID_LOGGING_CONFIGURATION, INVALID_NAME, INVALID_OUTPUT, INVALID_TOKEN, INVALID_TRACING_CONFIGURATION, + KMS_ACCESS_DENIED, + KMS_INVALID_STATE, + KMS_THROTTLING, MISSING_REQUIRED_PARAMETER, SERVICE_QUOTA_EXCEEDED, STATE_MACHINE_ALREADY_EXISTS, diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/CreateActivityRequest.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/CreateActivityRequest.h index 95ec8a1d752..3ea9c499df2 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/CreateActivityRequest.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/CreateActivityRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -80,6 +81,18 @@ namespace Model inline CreateActivityRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } inline CreateActivityRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } ///@} + + ///@{ + /** + *

    Settings to configure server-side encryption.

    + */ + inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } + inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } + inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } + inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } + inline CreateActivityRequest& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} + inline CreateActivityRequest& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} + ///@} private: Aws::String m_name; @@ -87,6 +100,9 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + EncryptionConfiguration m_encryptionConfiguration; + bool m_encryptionConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/CreateStateMachineRequest.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/CreateStateMachineRequest.h index 9ea518a62b6..9362d22ff5a 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/CreateStateMachineRequest.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/CreateStateMachineRequest.h @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -181,6 +182,18 @@ namespace Model inline CreateStateMachineRequest& WithVersionDescription(Aws::String&& value) { SetVersionDescription(std::move(value)); return *this;} inline CreateStateMachineRequest& WithVersionDescription(const char* value) { SetVersionDescription(value); return *this;} ///@} + + ///@{ + /** + *

    Settings to configure server-side encryption.

    + */ + inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } + inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } + inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } + inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } + inline CreateStateMachineRequest& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} + inline CreateStateMachineRequest& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} + ///@} private: Aws::String m_name; @@ -209,6 +222,9 @@ namespace Model Aws::String m_versionDescription; bool m_versionDescriptionHasBeenSet = false; + + EncryptionConfiguration m_encryptionConfiguration; + bool m_encryptionConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeActivityResult.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeActivityResult.h index cb77bfe2bf4..08731d694df 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeActivityResult.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeActivityResult.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -76,6 +77,17 @@ namespace Model inline DescribeActivityResult& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} ///@} + ///@{ + /** + *

    Settings for configured server-side encryption.

    + */ + inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } + inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfiguration = value; } + inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfiguration = std::move(value); } + inline DescribeActivityResult& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} + inline DescribeActivityResult& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -94,6 +106,8 @@ namespace Model Aws::Utils::DateTime m_creationDate; + EncryptionConfiguration m_encryptionConfiguration; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeExecutionRequest.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeExecutionRequest.h index 2ac8960ebf1..b4bf22e7a9a 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeExecutionRequest.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeExecutionRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -47,10 +48,29 @@ namespace Model inline DescribeExecutionRequest& WithExecutionArn(Aws::String&& value) { SetExecutionArn(std::move(value)); return *this;} inline DescribeExecutionRequest& WithExecutionArn(const char* value) { SetExecutionArn(value); return *this;} ///@} + + ///@{ + /** + *

    If your state machine definition is encrypted with a KMS key, callers must + * have kms:Decrypt permission to decrypt the definition. + * Alternatively, you can call DescribeStateMachine API with includedData = + * METADATA_ONLY to get a successful response without the encrypted + * definition.

    + */ + inline const IncludedData& GetIncludedData() const{ return m_includedData; } + inline bool IncludedDataHasBeenSet() const { return m_includedDataHasBeenSet; } + inline void SetIncludedData(const IncludedData& value) { m_includedDataHasBeenSet = true; m_includedData = value; } + inline void SetIncludedData(IncludedData&& value) { m_includedDataHasBeenSet = true; m_includedData = std::move(value); } + inline DescribeExecutionRequest& WithIncludedData(const IncludedData& value) { SetIncludedData(value); return *this;} + inline DescribeExecutionRequest& WithIncludedData(IncludedData&& value) { SetIncludedData(std::move(value)); return *this;} + ///@} private: Aws::String m_executionArn; bool m_executionArnHasBeenSet = false; + + IncludedData m_includedData; + bool m_includedDataHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineForExecutionRequest.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineForExecutionRequest.h index 1e6c6a5cef9..d5f1d0d5131 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineForExecutionRequest.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineForExecutionRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -48,10 +49,29 @@ namespace Model inline DescribeStateMachineForExecutionRequest& WithExecutionArn(Aws::String&& value) { SetExecutionArn(std::move(value)); return *this;} inline DescribeStateMachineForExecutionRequest& WithExecutionArn(const char* value) { SetExecutionArn(value); return *this;} ///@} + + ///@{ + /** + *

    If your state machine definition is encrypted with a KMS key, callers must + * have kms:Decrypt permission to decrypt the definition. + * Alternatively, you can call the API with includedData = + * METADATA_ONLY to get a successful response without the encrypted + * definition.

    + */ + inline const IncludedData& GetIncludedData() const{ return m_includedData; } + inline bool IncludedDataHasBeenSet() const { return m_includedDataHasBeenSet; } + inline void SetIncludedData(const IncludedData& value) { m_includedDataHasBeenSet = true; m_includedData = value; } + inline void SetIncludedData(IncludedData&& value) { m_includedDataHasBeenSet = true; m_includedData = std::move(value); } + inline DescribeStateMachineForExecutionRequest& WithIncludedData(const IncludedData& value) { SetIncludedData(value); return *this;} + inline DescribeStateMachineForExecutionRequest& WithIncludedData(IncludedData&& value) { SetIncludedData(std::move(value)); return *this;} + ///@} private: Aws::String m_executionArn; bool m_executionArnHasBeenSet = false; + + IncludedData m_includedData; + bool m_includedDataHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineForExecutionResult.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineForExecutionResult.h index 994b5bb53e4..7f949277ab2 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineForExecutionResult.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineForExecutionResult.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -171,6 +172,17 @@ namespace Model inline DescribeStateMachineForExecutionResult& WithRevisionId(const char* value) { SetRevisionId(value); return *this;} ///@} + ///@{ + /** + *

    Settings to configure server-side encryption.

    + */ + inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } + inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfiguration = value; } + inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfiguration = std::move(value); } + inline DescribeStateMachineForExecutionResult& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} + inline DescribeStateMachineForExecutionResult& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -203,6 +215,8 @@ namespace Model Aws::String m_revisionId; + EncryptionConfiguration m_encryptionConfiguration; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineRequest.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineRequest.h index 17baa221003..1ff4284daa3 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineRequest.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -51,10 +52,33 @@ namespace Model inline DescribeStateMachineRequest& WithStateMachineArn(Aws::String&& value) { SetStateMachineArn(std::move(value)); return *this;} inline DescribeStateMachineRequest& WithStateMachineArn(const char* value) { SetStateMachineArn(value); return *this;} ///@} + + ///@{ + /** + *

    If your state machine definition is encrypted with a KMS key, callers must + * have kms:Decrypt permission to decrypt the definition. + * Alternatively, you can call the API with includedData = + * METADATA_ONLY to get a successful response without the encrypted + * definition.

    When calling a labelled ARN for an encrypted state + * machine, the includedData = METADATA_ONLY parameter will not apply + * because Step Functions needs to decrypt the entire state machine definition to + * get the Distributed Map state’s definition. In this case, the API caller needs + * to have kms:Decrypt permission.

    + */ + inline const IncludedData& GetIncludedData() const{ return m_includedData; } + inline bool IncludedDataHasBeenSet() const { return m_includedDataHasBeenSet; } + inline void SetIncludedData(const IncludedData& value) { m_includedDataHasBeenSet = true; m_includedData = value; } + inline void SetIncludedData(IncludedData&& value) { m_includedDataHasBeenSet = true; m_includedData = std::move(value); } + inline DescribeStateMachineRequest& WithIncludedData(const IncludedData& value) { SetIncludedData(value); return *this;} + inline DescribeStateMachineRequest& WithIncludedData(IncludedData&& value) { SetIncludedData(std::move(value)); return *this;} + ///@} private: Aws::String m_stateMachineArn; bool m_stateMachineArnHasBeenSet = false; + + IncludedData m_includedData; + bool m_includedDataHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineResult.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineResult.h index aff0d8d7d70..7851254904c 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineResult.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeStateMachineResult.h @@ -11,6 +11,7 @@ #include #include #include +#include #include namespace Aws @@ -88,7 +89,8 @@ namespace Model /** *

    The Amazon States Language definition of the state machine. See Amazon - * States Language.

    + * States Language.

    If called with includedData = + * METADATA_ONLY, the returned definition will be {}.

    */ inline const Aws::String& GetDefinition() const{ return m_definition; } inline void SetDefinition(const Aws::String& value) { m_definition = value; } @@ -202,6 +204,17 @@ namespace Model inline DescribeStateMachineResult& WithDescription(const char* value) { SetDescription(value); return *this;} ///@} + ///@{ + /** + *

    Settings to configure server-side encryption.

    + */ + inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } + inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfiguration = value; } + inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfiguration = std::move(value); } + inline DescribeStateMachineResult& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} + inline DescribeStateMachineResult& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -238,6 +251,8 @@ namespace Model Aws::String m_description; + EncryptionConfiguration m_encryptionConfiguration; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/EncryptionConfiguration.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/EncryptionConfiguration.h new file mode 100644 index 00000000000..ad783294be9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/EncryptionConfiguration.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SFN +{ +namespace Model +{ + + /** + *

    Settings to configure server-side encryption.

    For additional control + * over security, you can encrypt your data using a customer-managed key for + * Step Functions state machines and activities. You can configure a symmetric KMS + * key and data key reuse period when creating or updating a State Machine, + * and when creating an Activity. The execution history and state machine + * definition will be encrypted with the key applied to the State Machine. Activity + * inputs will be encrypted with the key applied to the Activity.

    + * Step Functions automatically enables encryption at rest using Amazon Web + * Services owned keys at no charge. However, KMS charges apply when using a + * customer managed key. For more information about pricing, see Key Management Service + * pricing.

    For more information on KMS, see What + * is Key Management Service?

    See Also:

    AWS + * API Reference

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

    An alias, alias ARN, key ID, or key ARN of a symmetric encryption KMS key to + * encrypt data. To specify a KMS key in a different Amazon Web Services account, + * you must use the key ARN or alias ARN.

    + */ + inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } + inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } + inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } + inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } + inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } + inline EncryptionConfiguration& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} + inline EncryptionConfiguration& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} + inline EncryptionConfiguration& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} + ///@} + + ///@{ + /** + *

    Maximum duration that Step Functions will reuse data keys. When the period + * expires, Step Functions will call GenerateDataKey. Only applies to + * customer managed keys.

    + */ + inline int GetKmsDataKeyReusePeriodSeconds() const{ return m_kmsDataKeyReusePeriodSeconds; } + inline bool KmsDataKeyReusePeriodSecondsHasBeenSet() const { return m_kmsDataKeyReusePeriodSecondsHasBeenSet; } + inline void SetKmsDataKeyReusePeriodSeconds(int value) { m_kmsDataKeyReusePeriodSecondsHasBeenSet = true; m_kmsDataKeyReusePeriodSeconds = value; } + inline EncryptionConfiguration& WithKmsDataKeyReusePeriodSeconds(int value) { SetKmsDataKeyReusePeriodSeconds(value); return *this;} + ///@} + + ///@{ + /** + *

    Encryption type

    + */ + inline const EncryptionType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const EncryptionType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(EncryptionType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline EncryptionConfiguration& WithType(const EncryptionType& value) { SetType(value); return *this;} + inline EncryptionConfiguration& WithType(EncryptionType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_kmsKeyId; + bool m_kmsKeyIdHasBeenSet = false; + + int m_kmsDataKeyReusePeriodSeconds; + bool m_kmsDataKeyReusePeriodSecondsHasBeenSet = false; + + EncryptionType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/EncryptionType.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/EncryptionType.h new file mode 100644 index 00000000000..f4be0f134ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/EncryptionType.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 SFN +{ +namespace Model +{ + enum class EncryptionType + { + NOT_SET, + AWS_OWNED_KEY, + CUSTOMER_MANAGED_KMS_KEY + }; + +namespace EncryptionTypeMapper +{ +AWS_SFN_API EncryptionType GetEncryptionTypeForName(const Aws::String& name); + +AWS_SFN_API Aws::String GetNameForEncryptionType(EncryptionType value); +} // namespace EncryptionTypeMapper +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/IncludedData.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/IncludedData.h new file mode 100644 index 00000000000..6d25903fe3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/IncludedData.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 SFN +{ +namespace Model +{ + enum class IncludedData + { + NOT_SET, + ALL_DATA, + METADATA_ONLY + }; + +namespace IncludedDataMapper +{ +AWS_SFN_API IncludedData GetIncludedDataForName(const Aws::String& name); + +AWS_SFN_API Aws::String GetNameForIncludedData(IncludedData value); +} // namespace IncludedDataMapper +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/KmsInvalidStateException.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/KmsInvalidStateException.h new file mode 100644 index 00000000000..c20e80746a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/KmsInvalidStateException.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 SFN +{ +namespace Model +{ + + /** + *

    The KMS key is not in valid state, for example: Disabled or + * Deleted.

    See Also:

    AWS + * API Reference

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

    Current status of the KMS; key. For example: DISABLED, + * PENDING_DELETION, PENDING_IMPORT, + * UNAVAILABLE, CREATING.

    + */ + inline const KmsKeyState& GetKmsKeyState() const{ return m_kmsKeyState; } + inline bool KmsKeyStateHasBeenSet() const { return m_kmsKeyStateHasBeenSet; } + inline void SetKmsKeyState(const KmsKeyState& value) { m_kmsKeyStateHasBeenSet = true; m_kmsKeyState = value; } + inline void SetKmsKeyState(KmsKeyState&& value) { m_kmsKeyStateHasBeenSet = true; m_kmsKeyState = std::move(value); } + inline KmsInvalidStateException& WithKmsKeyState(const KmsKeyState& value) { SetKmsKeyState(value); return *this;} + inline KmsInvalidStateException& WithKmsKeyState(KmsKeyState&& value) { SetKmsKeyState(std::move(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 KmsInvalidStateException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline KmsInvalidStateException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline KmsInvalidStateException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + private: + + KmsKeyState m_kmsKeyState; + bool m_kmsKeyStateHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/KmsKeyState.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/KmsKeyState.h new file mode 100644 index 00000000000..e48d18a872b --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/KmsKeyState.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 SFN +{ +namespace Model +{ + enum class KmsKeyState + { + NOT_SET, + DISABLED, + PENDING_DELETION, + PENDING_IMPORT, + UNAVAILABLE, + CREATING + }; + +namespace KmsKeyStateMapper +{ +AWS_SFN_API KmsKeyState GetKmsKeyStateForName(const Aws::String& name); + +AWS_SFN_API Aws::String GetNameForKmsKeyState(KmsKeyState value); +} // namespace KmsKeyStateMapper +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/StartSyncExecutionRequest.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/StartSyncExecutionRequest.h index d7df63ff787..6385854285c 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/StartSyncExecutionRequest.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/StartSyncExecutionRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -95,6 +96,22 @@ namespace Model inline StartSyncExecutionRequest& WithTraceHeader(Aws::String&& value) { SetTraceHeader(std::move(value)); return *this;} inline StartSyncExecutionRequest& WithTraceHeader(const char* value) { SetTraceHeader(value); return *this;} ///@} + + ///@{ + /** + *

    If your state machine definition is encrypted with a KMS key, callers must + * have kms:Decrypt permission to decrypt the definition. + * Alternatively, you can call the API with includedData = + * METADATA_ONLY to get a successful response without the encrypted + * definition.

    + */ + inline const IncludedData& GetIncludedData() const{ return m_includedData; } + inline bool IncludedDataHasBeenSet() const { return m_includedDataHasBeenSet; } + inline void SetIncludedData(const IncludedData& value) { m_includedDataHasBeenSet = true; m_includedData = value; } + inline void SetIncludedData(IncludedData&& value) { m_includedDataHasBeenSet = true; m_includedData = std::move(value); } + inline StartSyncExecutionRequest& WithIncludedData(const IncludedData& value) { SetIncludedData(value); return *this;} + inline StartSyncExecutionRequest& WithIncludedData(IncludedData&& value) { SetIncludedData(std::move(value)); return *this;} + ///@} private: Aws::String m_stateMachineArn; @@ -108,6 +125,9 @@ namespace Model Aws::String m_traceHeader; bool m_traceHeaderHasBeenSet = false; + + IncludedData m_includedData; + bool m_includedDataHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/UpdateStateMachineRequest.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/UpdateStateMachineRequest.h index aebf9df6319..d021a79f5b7 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/UpdateStateMachineRequest.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/UpdateStateMachineRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -132,6 +133,18 @@ namespace Model inline UpdateStateMachineRequest& WithVersionDescription(Aws::String&& value) { SetVersionDescription(std::move(value)); return *this;} inline UpdateStateMachineRequest& WithVersionDescription(const char* value) { SetVersionDescription(value); return *this;} ///@} + + ///@{ + /** + *

    Settings to configure server-side encryption.

    + */ + inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } + inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } + inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } + inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } + inline UpdateStateMachineRequest& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} + inline UpdateStateMachineRequest& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} + ///@} private: Aws::String m_stateMachineArn; @@ -154,6 +167,9 @@ namespace Model Aws::String m_versionDescription; bool m_versionDescriptionHasBeenSet = false; + + EncryptionConfiguration m_encryptionConfiguration; + bool m_encryptionConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-states/source/SFNErrors.cpp b/generated/src/aws-cpp-sdk-states/source/SFNErrors.cpp index f72eb39086a..189448d05da 100644 --- a/generated/src/aws-cpp-sdk-states/source/SFNErrors.cpp +++ b/generated/src/aws-cpp-sdk-states/source/SFNErrors.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -25,6 +26,12 @@ template<> AWS_SFN_API ValidationException SFNError::GetModeledError() return ValidationException(this->GetJsonPayload().View()); } +template<> AWS_SFN_API KmsInvalidStateException SFNError::GetModeledError() +{ + assert(this->GetErrorType() == SFNErrors::KMS_INVALID_STATE); + return KmsInvalidStateException(this->GetJsonPayload().View()); +} + template<> AWS_SFN_API ResourceNotFound SFNError::GetModeledError() { assert(this->GetErrorType() == SFNErrors::RESOURCE_NOT_FOUND); @@ -41,6 +48,8 @@ namespace SFNErrorMapper { static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int KMS_THROTTLING_HASH = HashingUtils::HashString("KmsThrottlingException"); +static const int KMS_ACCESS_DENIED_HASH = HashingUtils::HashString("KmsAccessDeniedException"); static const int INVALID_TOKEN_HASH = HashingUtils::HashString("InvalidToken"); static const int ACTIVITY_WORKER_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("ActivityWorkerLimitExceeded"); static const int INVALID_LOGGING_CONFIGURATION_HASH = HashingUtils::HashString("InvalidLoggingConfiguration"); @@ -50,12 +59,14 @@ static const int INVALID_EXECUTION_INPUT_HASH = HashingUtils::HashString("Invali static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); static const int STATE_MACHINE_DOES_NOT_EXIST_HASH = HashingUtils::HashString("StateMachineDoesNotExist"); static const int INVALID_DEFINITION_HASH = HashingUtils::HashString("InvalidDefinition"); +static const int KMS_INVALID_STATE_HASH = HashingUtils::HashString("KmsInvalidStateException"); static const int EXECUTION_ALREADY_EXISTS_HASH = HashingUtils::HashString("ExecutionAlreadyExists"); static const int ACTIVITY_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("ActivityLimitExceeded"); static const int STATE_MACHINE_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("StateMachineLimitExceeded"); static const int MISSING_REQUIRED_PARAMETER_HASH = HashingUtils::HashString("MissingRequiredParameter"); static const int INVALID_ARN_HASH = HashingUtils::HashString("InvalidArn"); static const int TASK_DOES_NOT_EXIST_HASH = HashingUtils::HashString("TaskDoesNotExist"); +static const int INVALID_ENCRYPTION_CONFIGURATION_HASH = HashingUtils::HashString("InvalidEncryptionConfiguration"); static const int EXECUTION_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("ExecutionLimitExceeded"); static const int ACTIVITY_DOES_NOT_EXIST_HASH = HashingUtils::HashString("ActivityDoesNotExist"); static const int INVALID_NAME_HASH = HashingUtils::HashString("InvalidName"); @@ -66,6 +77,7 @@ static const int EXECUTION_DOES_NOT_EXIST_HASH = HashingUtils::HashString("Execu static const int INVALID_TRACING_CONFIGURATION_HASH = HashingUtils::HashString("InvalidTracingConfiguration"); static const int INVALID_OUTPUT_HASH = HashingUtils::HashString("InvalidOutput"); static const int STATE_MACHINE_ALREADY_EXISTS_HASH = HashingUtils::HashString("StateMachineAlreadyExists"); +static const int ACTIVITY_ALREADY_EXISTS_HASH = HashingUtils::HashString("ActivityAlreadyExists"); AWSError GetErrorForName(const char* errorName) @@ -76,6 +88,14 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(SFNErrors::CONFLICT), RetryableType::NOT_RETRYABLE); } + else if (hashCode == KMS_THROTTLING_HASH) + { + return AWSError(static_cast(SFNErrors::KMS_THROTTLING), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == KMS_ACCESS_DENIED_HASH) + { + return AWSError(static_cast(SFNErrors::KMS_ACCESS_DENIED), RetryableType::NOT_RETRYABLE); + } else if (hashCode == INVALID_TOKEN_HASH) { return AWSError(static_cast(SFNErrors::INVALID_TOKEN), RetryableType::NOT_RETRYABLE); @@ -112,6 +132,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(SFNErrors::INVALID_DEFINITION), RetryableType::NOT_RETRYABLE); } + else if (hashCode == KMS_INVALID_STATE_HASH) + { + return AWSError(static_cast(SFNErrors::KMS_INVALID_STATE), RetryableType::NOT_RETRYABLE); + } else if (hashCode == EXECUTION_ALREADY_EXISTS_HASH) { return AWSError(static_cast(SFNErrors::EXECUTION_ALREADY_EXISTS), RetryableType::NOT_RETRYABLE); @@ -136,6 +160,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(SFNErrors::TASK_DOES_NOT_EXIST), RetryableType::NOT_RETRYABLE); } + else if (hashCode == INVALID_ENCRYPTION_CONFIGURATION_HASH) + { + return AWSError(static_cast(SFNErrors::INVALID_ENCRYPTION_CONFIGURATION), RetryableType::NOT_RETRYABLE); + } else if (hashCode == EXECUTION_LIMIT_EXCEEDED_HASH) { return AWSError(static_cast(SFNErrors::EXECUTION_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); @@ -176,6 +204,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(SFNErrors::STATE_MACHINE_ALREADY_EXISTS), RetryableType::NOT_RETRYABLE); } + else if (hashCode == ACTIVITY_ALREADY_EXISTS_HASH) + { + return AWSError(static_cast(SFNErrors::ACTIVITY_ALREADY_EXISTS), RetryableType::NOT_RETRYABLE); + } return AWSError(CoreErrors::UNKNOWN, false); } diff --git a/generated/src/aws-cpp-sdk-states/source/model/CreateActivityRequest.cpp b/generated/src/aws-cpp-sdk-states/source/model/CreateActivityRequest.cpp index a77e10435c7..b4de8460c9b 100644 --- a/generated/src/aws-cpp-sdk-states/source/model/CreateActivityRequest.cpp +++ b/generated/src/aws-cpp-sdk-states/source/model/CreateActivityRequest.cpp @@ -14,7 +14,8 @@ using namespace Aws::Utils; CreateActivityRequest::CreateActivityRequest() : m_nameHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_encryptionConfigurationHasBeenSet(false) { } @@ -39,6 +40,12 @@ Aws::String CreateActivityRequest::SerializePayload() const } + if(m_encryptionConfigurationHasBeenSet) + { + payload.WithObject("encryptionConfiguration", m_encryptionConfiguration.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-states/source/model/CreateStateMachineRequest.cpp b/generated/src/aws-cpp-sdk-states/source/model/CreateStateMachineRequest.cpp index f16bd8f2e8f..0d000f41caa 100644 --- a/generated/src/aws-cpp-sdk-states/source/model/CreateStateMachineRequest.cpp +++ b/generated/src/aws-cpp-sdk-states/source/model/CreateStateMachineRequest.cpp @@ -23,7 +23,8 @@ CreateStateMachineRequest::CreateStateMachineRequest() : m_tracingConfigurationHasBeenSet(false), m_publish(false), m_publishHasBeenSet(false), - m_versionDescriptionHasBeenSet(false) + m_versionDescriptionHasBeenSet(false), + m_encryptionConfigurationHasBeenSet(false) { } @@ -89,6 +90,12 @@ Aws::String CreateStateMachineRequest::SerializePayload() const } + if(m_encryptionConfigurationHasBeenSet) + { + payload.WithObject("encryptionConfiguration", m_encryptionConfiguration.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-states/source/model/DescribeActivityResult.cpp b/generated/src/aws-cpp-sdk-states/source/model/DescribeActivityResult.cpp index 97b0e658d64..31d104640be 100644 --- a/generated/src/aws-cpp-sdk-states/source/model/DescribeActivityResult.cpp +++ b/generated/src/aws-cpp-sdk-states/source/model/DescribeActivityResult.cpp @@ -47,6 +47,12 @@ DescribeActivityResult& DescribeActivityResult::operator =(const Aws::AmazonWebS } + if(jsonValue.ValueExists("encryptionConfiguration")) + { + m_encryptionConfiguration = jsonValue.GetObject("encryptionConfiguration"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-states/source/model/DescribeExecutionRequest.cpp b/generated/src/aws-cpp-sdk-states/source/model/DescribeExecutionRequest.cpp index 13914de8ff1..7b7c56d00bd 100644 --- a/generated/src/aws-cpp-sdk-states/source/model/DescribeExecutionRequest.cpp +++ b/generated/src/aws-cpp-sdk-states/source/model/DescribeExecutionRequest.cpp @@ -13,7 +13,9 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; DescribeExecutionRequest::DescribeExecutionRequest() : - m_executionArnHasBeenSet(false) + m_executionArnHasBeenSet(false), + m_includedData(IncludedData::NOT_SET), + m_includedDataHasBeenSet(false) { } @@ -27,6 +29,11 @@ Aws::String DescribeExecutionRequest::SerializePayload() const } + if(m_includedDataHasBeenSet) + { + payload.WithString("includedData", IncludedDataMapper::GetNameForIncludedData(m_includedData)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineForExecutionRequest.cpp b/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineForExecutionRequest.cpp index 3ccb1e93ea6..c84edb0fc30 100644 --- a/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineForExecutionRequest.cpp +++ b/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineForExecutionRequest.cpp @@ -13,7 +13,9 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; DescribeStateMachineForExecutionRequest::DescribeStateMachineForExecutionRequest() : - m_executionArnHasBeenSet(false) + m_executionArnHasBeenSet(false), + m_includedData(IncludedData::NOT_SET), + m_includedDataHasBeenSet(false) { } @@ -27,6 +29,11 @@ Aws::String DescribeStateMachineForExecutionRequest::SerializePayload() const } + if(m_includedDataHasBeenSet) + { + payload.WithString("includedData", IncludedDataMapper::GetNameForIncludedData(m_includedData)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineForExecutionResult.cpp b/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineForExecutionResult.cpp index 85581b0d4e9..84966837f19 100644 --- a/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineForExecutionResult.cpp +++ b/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineForExecutionResult.cpp @@ -89,6 +89,12 @@ DescribeStateMachineForExecutionResult& DescribeStateMachineForExecutionResult:: } + if(jsonValue.ValueExists("encryptionConfiguration")) + { + m_encryptionConfiguration = jsonValue.GetObject("encryptionConfiguration"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineRequest.cpp b/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineRequest.cpp index 7d7ad34a3e1..18caf6b513c 100644 --- a/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineRequest.cpp +++ b/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineRequest.cpp @@ -13,7 +13,9 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; DescribeStateMachineRequest::DescribeStateMachineRequest() : - m_stateMachineArnHasBeenSet(false) + m_stateMachineArnHasBeenSet(false), + m_includedData(IncludedData::NOT_SET), + m_includedDataHasBeenSet(false) { } @@ -27,6 +29,11 @@ Aws::String DescribeStateMachineRequest::SerializePayload() const } + if(m_includedDataHasBeenSet) + { + payload.WithString("includedData", IncludedDataMapper::GetNameForIncludedData(m_includedData)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineResult.cpp b/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineResult.cpp index 902d0d8e9e1..29972082d07 100644 --- a/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineResult.cpp +++ b/generated/src/aws-cpp-sdk-states/source/model/DescribeStateMachineResult.cpp @@ -104,6 +104,12 @@ DescribeStateMachineResult& DescribeStateMachineResult::operator =(const Aws::Am } + if(jsonValue.ValueExists("encryptionConfiguration")) + { + m_encryptionConfiguration = jsonValue.GetObject("encryptionConfiguration"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-states/source/model/EncryptionConfiguration.cpp b/generated/src/aws-cpp-sdk-states/source/model/EncryptionConfiguration.cpp new file mode 100644 index 00000000000..3f78efa62c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/source/model/EncryptionConfiguration.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 SFN +{ +namespace Model +{ + +EncryptionConfiguration::EncryptionConfiguration() : + m_kmsKeyIdHasBeenSet(false), + m_kmsDataKeyReusePeriodSeconds(0), + m_kmsDataKeyReusePeriodSecondsHasBeenSet(false), + m_type(EncryptionType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +EncryptionConfiguration::EncryptionConfiguration(JsonView jsonValue) + : EncryptionConfiguration() +{ + *this = jsonValue; +} + +EncryptionConfiguration& EncryptionConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("kmsKeyId")) + { + m_kmsKeyId = jsonValue.GetString("kmsKeyId"); + + m_kmsKeyIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("kmsDataKeyReusePeriodSeconds")) + { + m_kmsDataKeyReusePeriodSeconds = jsonValue.GetInteger("kmsDataKeyReusePeriodSeconds"); + + m_kmsDataKeyReusePeriodSecondsHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = EncryptionTypeMapper::GetEncryptionTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue EncryptionConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_kmsKeyIdHasBeenSet) + { + payload.WithString("kmsKeyId", m_kmsKeyId); + + } + + if(m_kmsDataKeyReusePeriodSecondsHasBeenSet) + { + payload.WithInteger("kmsDataKeyReusePeriodSeconds", m_kmsDataKeyReusePeriodSeconds); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", EncryptionTypeMapper::GetNameForEncryptionType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/source/model/EncryptionType.cpp b/generated/src/aws-cpp-sdk-states/source/model/EncryptionType.cpp new file mode 100644 index 00000000000..d757e1aaf07 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/source/model/EncryptionType.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 SFN + { + namespace Model + { + namespace EncryptionTypeMapper + { + + static const int AWS_OWNED_KEY_HASH = HashingUtils::HashString("AWS_OWNED_KEY"); + static const int CUSTOMER_MANAGED_KMS_KEY_HASH = HashingUtils::HashString("CUSTOMER_MANAGED_KMS_KEY"); + + + EncryptionType GetEncryptionTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AWS_OWNED_KEY_HASH) + { + return EncryptionType::AWS_OWNED_KEY; + } + else if (hashCode == CUSTOMER_MANAGED_KMS_KEY_HASH) + { + return EncryptionType::CUSTOMER_MANAGED_KMS_KEY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EncryptionType::NOT_SET; + } + + Aws::String GetNameForEncryptionType(EncryptionType enumValue) + { + switch(enumValue) + { + case EncryptionType::NOT_SET: + return {}; + case EncryptionType::AWS_OWNED_KEY: + return "AWS_OWNED_KEY"; + case EncryptionType::CUSTOMER_MANAGED_KMS_KEY: + return "CUSTOMER_MANAGED_KMS_KEY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EncryptionTypeMapper + } // namespace Model + } // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/source/model/IncludedData.cpp b/generated/src/aws-cpp-sdk-states/source/model/IncludedData.cpp new file mode 100644 index 00000000000..fb2d65f75c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/source/model/IncludedData.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 SFN + { + namespace Model + { + namespace IncludedDataMapper + { + + static const int ALL_DATA_HASH = HashingUtils::HashString("ALL_DATA"); + static const int METADATA_ONLY_HASH = HashingUtils::HashString("METADATA_ONLY"); + + + IncludedData GetIncludedDataForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ALL_DATA_HASH) + { + return IncludedData::ALL_DATA; + } + else if (hashCode == METADATA_ONLY_HASH) + { + return IncludedData::METADATA_ONLY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IncludedData::NOT_SET; + } + + Aws::String GetNameForIncludedData(IncludedData enumValue) + { + switch(enumValue) + { + case IncludedData::NOT_SET: + return {}; + case IncludedData::ALL_DATA: + return "ALL_DATA"; + case IncludedData::METADATA_ONLY: + return "METADATA_ONLY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IncludedDataMapper + } // namespace Model + } // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/source/model/KmsInvalidStateException.cpp b/generated/src/aws-cpp-sdk-states/source/model/KmsInvalidStateException.cpp new file mode 100644 index 00000000000..6755896c9d3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/source/model/KmsInvalidStateException.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 SFN +{ +namespace Model +{ + +KmsInvalidStateException::KmsInvalidStateException() : + m_kmsKeyState(KmsKeyState::NOT_SET), + m_kmsKeyStateHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +KmsInvalidStateException::KmsInvalidStateException(JsonView jsonValue) + : KmsInvalidStateException() +{ + *this = jsonValue; +} + +KmsInvalidStateException& KmsInvalidStateException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("kmsKeyState")) + { + m_kmsKeyState = KmsKeyStateMapper::GetKmsKeyStateForName(jsonValue.GetString("kmsKeyState")); + + m_kmsKeyStateHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue KmsInvalidStateException::Jsonize() const +{ + JsonValue payload; + + if(m_kmsKeyStateHasBeenSet) + { + payload.WithString("kmsKeyState", KmsKeyStateMapper::GetNameForKmsKeyState(m_kmsKeyState)); + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/source/model/KmsKeyState.cpp b/generated/src/aws-cpp-sdk-states/source/model/KmsKeyState.cpp new file mode 100644 index 00000000000..042ec0b09aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/source/model/KmsKeyState.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 SFN + { + namespace Model + { + namespace KmsKeyStateMapper + { + + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + static const int PENDING_DELETION_HASH = HashingUtils::HashString("PENDING_DELETION"); + static const int PENDING_IMPORT_HASH = HashingUtils::HashString("PENDING_IMPORT"); + static const int UNAVAILABLE_HASH = HashingUtils::HashString("UNAVAILABLE"); + static const int CREATING_HASH = HashingUtils::HashString("CREATING"); + + + KmsKeyState GetKmsKeyStateForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == DISABLED_HASH) + { + return KmsKeyState::DISABLED; + } + else if (hashCode == PENDING_DELETION_HASH) + { + return KmsKeyState::PENDING_DELETION; + } + else if (hashCode == PENDING_IMPORT_HASH) + { + return KmsKeyState::PENDING_IMPORT; + } + else if (hashCode == UNAVAILABLE_HASH) + { + return KmsKeyState::UNAVAILABLE; + } + else if (hashCode == CREATING_HASH) + { + return KmsKeyState::CREATING; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return KmsKeyState::NOT_SET; + } + + Aws::String GetNameForKmsKeyState(KmsKeyState enumValue) + { + switch(enumValue) + { + case KmsKeyState::NOT_SET: + return {}; + case KmsKeyState::DISABLED: + return "DISABLED"; + case KmsKeyState::PENDING_DELETION: + return "PENDING_DELETION"; + case KmsKeyState::PENDING_IMPORT: + return "PENDING_IMPORT"; + case KmsKeyState::UNAVAILABLE: + return "UNAVAILABLE"; + case KmsKeyState::CREATING: + return "CREATING"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace KmsKeyStateMapper + } // namespace Model + } // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/source/model/StartSyncExecutionRequest.cpp b/generated/src/aws-cpp-sdk-states/source/model/StartSyncExecutionRequest.cpp index a91f50524c4..5c2d22c6471 100644 --- a/generated/src/aws-cpp-sdk-states/source/model/StartSyncExecutionRequest.cpp +++ b/generated/src/aws-cpp-sdk-states/source/model/StartSyncExecutionRequest.cpp @@ -16,7 +16,9 @@ StartSyncExecutionRequest::StartSyncExecutionRequest() : m_stateMachineArnHasBeenSet(false), m_nameHasBeenSet(false), m_inputHasBeenSet(false), - m_traceHeaderHasBeenSet(false) + m_traceHeaderHasBeenSet(false), + m_includedData(IncludedData::NOT_SET), + m_includedDataHasBeenSet(false) { } @@ -48,6 +50,11 @@ Aws::String StartSyncExecutionRequest::SerializePayload() const } + if(m_includedDataHasBeenSet) + { + payload.WithString("includedData", IncludedDataMapper::GetNameForIncludedData(m_includedData)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-states/source/model/UpdateStateMachineRequest.cpp b/generated/src/aws-cpp-sdk-states/source/model/UpdateStateMachineRequest.cpp index 5f51acfa3ad..d6119779397 100644 --- a/generated/src/aws-cpp-sdk-states/source/model/UpdateStateMachineRequest.cpp +++ b/generated/src/aws-cpp-sdk-states/source/model/UpdateStateMachineRequest.cpp @@ -20,7 +20,8 @@ UpdateStateMachineRequest::UpdateStateMachineRequest() : m_tracingConfigurationHasBeenSet(false), m_publish(false), m_publishHasBeenSet(false), - m_versionDescriptionHasBeenSet(false) + m_versionDescriptionHasBeenSet(false), + m_encryptionConfigurationHasBeenSet(false) { } @@ -70,6 +71,12 @@ Aws::String UpdateStateMachineRequest::SerializePayload() const } + if(m_encryptionConfigurationHasBeenSet) + { + payload.WithObject("encryptionConfiguration", m_encryptionConfiguration.Jsonize()); + + } + return payload.View().WriteReadable(); } 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 805dfc5063e..a244dd44b9d 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.371" +#define AWS_SDK_VERSION_STRING "1.11.372" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 371 +#define AWS_SDK_VERSION_PATCH 372 diff --git a/tools/code-generation/api-descriptions/application-autoscaling-2016-02-06.normal.json b/tools/code-generation/api-descriptions/application-autoscaling-2016-02-06.normal.json index 70cd7e930df..3c0ed375295 100644 --- a/tools/code-generation/api-descriptions/application-autoscaling-2016-02-06.normal.json +++ b/tools/code-generation/api-descriptions/application-autoscaling-2016-02-06.normal.json @@ -697,7 +697,9 @@ "SageMakerVariantProvisionedConcurrencyUtilization", "ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage", "SageMakerInferenceComponentInvocationsPerCopy", - "WorkSpacesAverageUserSessionsCapacityUtilization" + "WorkSpacesAverageUserSessionsCapacityUtilization", + "SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution", + "SageMakerVariantConcurrentRequestsPerModelHighResolution" ] }, "MetricUnit":{"type":"string"}, diff --git a/tools/code-generation/api-descriptions/application-signals-2024-04-15.normal.json b/tools/code-generation/api-descriptions/application-signals-2024-04-15.normal.json index 43dffbe492b..37a930da0f7 100644 --- a/tools/code-generation/api-descriptions/application-signals-2024-04-15.normal.json +++ b/tools/code-generation/api-descriptions/application-signals-2024-04-15.normal.json @@ -2,6 +2,7 @@ "version":"2.0", "metadata":{ "apiVersion":"2024-04-15", + "auth":["aws.auth#sigv4"], "endpointPrefix":"application-signals", "protocol":"rest-json", "protocols":["rest-json"], @@ -486,13 +487,13 @@ "members":{ "StartTime":{ "shape":"Timestamp", - "documentation":"

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

    ", + "documentation":"

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

    Your requested start time will be rounded to the nearest hour.

    ", "location":"querystring", "locationName":"StartTime" }, "EndTime":{ "shape":"Timestamp", - "documentation":"

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

    ", + "documentation":"

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

    Your requested start time will be rounded to the nearest hour.

    ", "location":"querystring", "locationName":"EndTime" }, @@ -538,11 +539,15 @@ }, "StartTime":{ "shape":"Timestamp", - "documentation":"

    The start time of the data included in the response. In a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057.

    " + "documentation":"

    The start time of the data included in the response. In a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057.

    This displays the time that Application Signals used for the request. It might not match your request exactly, because it was rounded to the nearest hour.

    " }, "EndTime":{ "shape":"Timestamp", - "documentation":"

    The end time of the data included in the response. In a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057.

    " + "documentation":"

    The end time of the data included in the response. In a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057.

    This displays the time that Application Signals used for the request. It might not match your request exactly, because it was rounded to the nearest hour.

    " + }, + "LogGroupReferences":{ + "shape":"LogGroupReferences", + "documentation":"

    An array of string-to-string maps that each contain information about one log group associated with this service. Each string-to-string map includes the following fields:

    • \"Type\": \"AWS::Resource\"

    • \"ResourceType\": \"AWS::Logs::LogGroup\"

    • \"Identifier\": \"name-of-log-group\"

    " } } }, @@ -599,13 +604,13 @@ "members":{ "StartTime":{ "shape":"Timestamp", - "documentation":"

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

    ", + "documentation":"

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

    Your requested start time will be rounded to the nearest hour.

    ", "location":"querystring", "locationName":"StartTime" }, "EndTime":{ "shape":"Timestamp", - "documentation":"

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

    ", + "documentation":"

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

    Your requested end time will be rounded to the nearest hour.

    ", "location":"querystring", "locationName":"EndTime" }, @@ -643,11 +648,11 @@ "members":{ "StartTime":{ "shape":"Timestamp", - "documentation":"

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

    " + "documentation":"

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

    This displays the time that Application Signals used for the request. It might not match your request exactly, because it was rounded to the nearest hour.

    " }, "EndTime":{ "shape":"Timestamp", - "documentation":"

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

    " + "documentation":"

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

    This displays the time that Application Signals used for the request. It might not match your request exactly, because it was rounded to the nearest hour.

    " }, "ServiceDependencies":{ "shape":"ServiceDependencies", @@ -669,13 +674,13 @@ "members":{ "StartTime":{ "shape":"Timestamp", - "documentation":"

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

    ", + "documentation":"

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

    Your requested start time will be rounded to the nearest hour.

    ", "location":"querystring", "locationName":"StartTime" }, "EndTime":{ "shape":"Timestamp", - "documentation":"

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

    ", + "documentation":"

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

    Your requested start time will be rounded to the nearest hour.

    ", "location":"querystring", "locationName":"EndTime" }, @@ -713,11 +718,11 @@ "members":{ "StartTime":{ "shape":"Timestamp", - "documentation":"

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

    " + "documentation":"

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

    This displays the time that Application Signals used for the request. It might not match your request exactly, because it was rounded to the nearest hour.

    " }, "EndTime":{ "shape":"Timestamp", - "documentation":"

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

    " + "documentation":"

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

    This displays the time that Application Signals used for the request. It might not match your request exactly, because it was rounded to the nearest hour.

    " }, "ServiceDependents":{ "shape":"ServiceDependents", @@ -791,13 +796,13 @@ "members":{ "StartTime":{ "shape":"Timestamp", - "documentation":"

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

    ", + "documentation":"

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

    Your requested start time will be rounded to the nearest hour.

    ", "location":"querystring", "locationName":"StartTime" }, "EndTime":{ "shape":"Timestamp", - "documentation":"

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

    ", + "documentation":"

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

    Your requested end time will be rounded to the nearest hour.

    ", "location":"querystring", "locationName":"EndTime" }, @@ -829,11 +834,11 @@ "members":{ "StartTime":{ "shape":"Timestamp", - "documentation":"

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

    " + "documentation":"

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

    This displays the time that Application Signals used for the request. It might not match your request exactly, because it was rounded to the nearest hour.

    " }, "EndTime":{ "shape":"Timestamp", - "documentation":"

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

    " + "documentation":"

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

    This displays the time that Application Signals used for the request. It might not match your request exactly, because it was rounded to the nearest hour.

    " }, "ServiceOperations":{ "shape":"ServiceOperations", @@ -854,13 +859,13 @@ "members":{ "StartTime":{ "shape":"Timestamp", - "documentation":"

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

    ", + "documentation":"

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

    Your requested start time will be rounded to the nearest hour.

    ", "location":"querystring", "locationName":"StartTime" }, "EndTime":{ "shape":"Timestamp", - "documentation":"

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

    ", + "documentation":"

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

    Your requested start time will be rounded to the nearest hour.

    ", "location":"querystring", "locationName":"EndTime" }, @@ -894,11 +899,11 @@ "members":{ "StartTime":{ "shape":"Timestamp", - "documentation":"

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

    " + "documentation":"

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

    This displays the time that Application Signals used for the request. It might not match your request exactly, because it was rounded to the nearest hour.

    " }, "EndTime":{ "shape":"Timestamp", - "documentation":"

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

    " + "documentation":"

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

    This displays the time that Application Signals used for the request. It might not match your request exactly, because it was rounded to the nearest hour.

    " }, "ServiceSummaries":{ "shape":"ServiceSummaries", @@ -931,6 +936,10 @@ } } }, + "LogGroupReferences":{ + "type":"list", + "member":{"shape":"Attributes"} + }, "Metric":{ "type":"structure", "members":{ @@ -1098,7 +1107,7 @@ }, "ResourceId":{ "shape":"ResourceId", - "documentation":"

    Cannot find the resource id.

    " + "documentation":"

    Can't find the resource id.

    " }, "Message":{"shape":"FaultDescription"} }, @@ -1161,6 +1170,10 @@ "MetricReferences":{ "shape":"MetricReferences", "documentation":"

    An array of structures that each contain information about one metric associated with this service.

    " + }, + "LogGroupReferences":{ + "shape":"LogGroupReferences", + "documentation":"

    An array of string-to-string maps that each contain information about one log group associated with this service. Each string-to-string map includes the following fields:

    • \"Type\": \"AWS::Resource\"

    • \"ResourceType\": \"AWS::Logs::LogGroup\"

    • \"Identifier\": \"name-of-log-group\"

    " } }, "documentation":"

    This structure contains information about one of your services that was discovered by Application Signals.

    " @@ -1807,5 +1820,5 @@ "box":true } }, - "documentation":"

    This is a Preview release of the Application Signals API Reference. Operations and parameters are subject to change before the general availability release.

    Use CloudWatch Application Signals for comprehensive observability of your cloud-based applications. It enables real-time service health dashboards and helps you track long-term performance trends against your business goals. The application-centric view provides you with unified visibility across your applications, services, and dependencies, so you can proactively monitor and efficiently triage any issues that may arise, ensuring optimal customer experience.

    Application Signals provides the following benefits:

    • Automatically collect metrics and traces from your applications, and display key metrics such as call volume, availability, latency, faults, and errors.

    • Create and monitor service level objectives (SLOs).

    • See a map of your application topology that Application Signals automatically discovers, that gives you a visual representation of your applications, dependencies, and their connectivity.

    " + "documentation":"

    Use CloudWatch Application Signals for comprehensive observability of your cloud-based applications. It enables real-time service health dashboards and helps you track long-term performance trends against your business goals. The application-centric view provides you with unified visibility across your applications, services, and dependencies, so you can proactively monitor and efficiently triage any issues that may arise, ensuring optimal customer experience.

    Application Signals provides the following benefits:

    • Automatically collect metrics and traces from your applications, and display key metrics such as call volume, availability, latency, faults, and errors.

    • Create and monitor service level objectives (SLOs).

    • See a map of your application topology that Application Signals automatically discovers, that gives you a visual representation of your applications, dependencies, and their connectivity.

    Application Signals works with CloudWatch RUM, CloudWatch Synthetics canaries, and Amazon Web Services Service Catalog AppRegistry, to display your client pages, Synthetics canaries, and application names within dashboards and maps.

    " } diff --git a/tools/code-generation/api-descriptions/bedrock-runtime-2023-09-30.normal.json b/tools/code-generation/api-descriptions/bedrock-runtime-2023-09-30.normal.json index e3214f4facd..b40d0148e27 100644 --- a/tools/code-generation/api-descriptions/bedrock-runtime-2023-09-30.normal.json +++ b/tools/code-generation/api-descriptions/bedrock-runtime-2023-09-30.normal.json @@ -2,9 +2,10 @@ "version":"2.0", "metadata":{ "apiVersion":"2023-09-30", + "auth":["aws.auth#sigv4"], "endpointPrefix":"bedrock-runtime", - "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceFullName":"Amazon Bedrock Runtime", "serviceId":"Bedrock Runtime", "signatureVersion":"v4", @@ -46,11 +47,12 @@ {"shape":"ThrottlingException"}, {"shape":"ModelTimeoutException"}, {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, {"shape":"ValidationException"}, {"shape":"ModelNotReadyException"}, {"shape":"ModelErrorException"} ], - "documentation":"

    Sends messages to the specified Amazon Bedrock model. Converse provides a consistent interface that works with all models that support messages. This allows you to write code once and use it with different models. Should a model have unique inference parameters, you can also pass those unique parameters to the model.

    For information about the Converse API, see Use the Converse API in the Amazon Bedrock User Guide. To use a guardrail, see Use a guardrail with the Converse API in the Amazon Bedrock User Guide. To use a tool with a model, see Tool use (Function calling) in the Amazon Bedrock User Guide

    For example code, see Converse API examples in the Amazon Bedrock User Guide.

    This operation requires permission for the bedrock:InvokeModel action.

    " + "documentation":"

    Sends messages to the specified Amazon Bedrock model. Converse provides a consistent interface that works with all models that support messages. This allows you to write code once and use it with different models. If a model has unique inference parameters, you can also pass those unique parameters to the model.

    Amazon Bedrock doesn't store any text, images, or documents that you provide as content. The data is only used to generate the response.

    For information about the Converse API, see Use the Converse API in the Amazon Bedrock User Guide. To use a guardrail, see Use a guardrail with the Converse API in the Amazon Bedrock User Guide. To use a tool with a model, see Tool use (Function calling) in the Amazon Bedrock User Guide

    For example code, see Converse API examples in the Amazon Bedrock User Guide.

    This operation requires permission for the bedrock:InvokeModel action.

    " }, "ConverseStream":{ "name":"ConverseStream", @@ -67,11 +69,12 @@ {"shape":"ThrottlingException"}, {"shape":"ModelTimeoutException"}, {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, {"shape":"ValidationException"}, {"shape":"ModelNotReadyException"}, {"shape":"ModelErrorException"} ], - "documentation":"

    Sends messages to the specified Amazon Bedrock model and returns the response in a stream. ConverseStream provides a consistent API that works with all Amazon Bedrock models that support messages. This allows you to write code once and use it with different models. Should a model have unique inference parameters, you can also pass those unique parameters to the model.

    To find out if a model supports streaming, call GetFoundationModel and check the responseStreamingSupported field in the response.

    For information about the Converse API, see Use the Converse API in the Amazon Bedrock User Guide. To use a guardrail, see Use a guardrail with the Converse API in the Amazon Bedrock User Guide. To use a tool with a model, see Tool use (Function calling) in the Amazon Bedrock User Guide

    For example code, see Conversation streaming example in the Amazon Bedrock User Guide.

    This operation requires permission for the bedrock:InvokeModelWithResponseStream action.

    " + "documentation":"

    Sends messages to the specified Amazon Bedrock model and returns the response in a stream. ConverseStream provides a consistent API that works with all Amazon Bedrock models that support messages. This allows you to write code once and use it with different models. Should a model have unique inference parameters, you can also pass those unique parameters to the model.

    To find out if a model supports streaming, call GetFoundationModel and check the responseStreamingSupported field in the response.

    The CLI doesn't support streaming operations in Amazon Bedrock, including ConverseStream.

    Amazon Bedrock doesn't store any text, images, or documents that you provide as content. The data is only used to generate the response.

    For information about the Converse API, see Use the Converse API in the Amazon Bedrock User Guide. To use a guardrail, see Use a guardrail with the Converse API in the Amazon Bedrock User Guide. To use a tool with a model, see Tool use (Function calling) in the Amazon Bedrock User Guide

    For example code, see Conversation streaming example in the Amazon Bedrock User Guide.

    This operation requires permission for the bedrock:InvokeModelWithResponseStream action.

    " }, "InvokeModel":{ "name":"InvokeModel", @@ -88,6 +91,7 @@ {"shape":"ThrottlingException"}, {"shape":"ModelTimeoutException"}, {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, {"shape":"ValidationException"}, {"shape":"ModelNotReadyException"}, {"shape":"ServiceQuotaExceededException"}, @@ -110,13 +114,14 @@ {"shape":"ThrottlingException"}, {"shape":"ModelTimeoutException"}, {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, {"shape":"ModelStreamErrorException"}, {"shape":"ValidationException"}, {"shape":"ModelNotReadyException"}, {"shape":"ServiceQuotaExceededException"}, {"shape":"ModelErrorException"} ], - "documentation":"

    Invoke the specified Amazon Bedrock model to run inference using the prompt and inference parameters provided in the request body. The response is returned in a stream.

    To see if a model supports streaming, call GetFoundationModel and check the responseStreamingSupported field in the response.

    The CLI doesn't support InvokeModelWithResponseStream.

    For example code, see Invoke model with streaming code example in the Amazon Bedrock User Guide.

    This operation requires permissions to perform the bedrock:InvokeModelWithResponseStream action.

    " + "documentation":"

    Invoke the specified Amazon Bedrock model to run inference using the prompt and inference parameters provided in the request body. The response is returned in a stream.

    To see if a model supports streaming, call GetFoundationModel and check the responseStreamingSupported field in the response.

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

    For example code, see Invoke model with streaming code example in the Amazon Bedrock User Guide.

    This operation requires permissions to perform the bedrock:InvokeModelWithResponseStream action.

    " } }, "shapes":{ @@ -519,6 +524,10 @@ "throttlingException":{ "shape":"ThrottlingException", "documentation":"

    The number of requests exceeds the limit. Resubmit your request later.

    " + }, + "serviceUnavailableException":{ + "shape":"ServiceUnavailableException", + "documentation":"

    The service isn't currently available. Try again later.

    " } }, "documentation":"

    The messages output stream

    ", @@ -1768,12 +1777,13 @@ }, "throttlingException":{ "shape":"ThrottlingException", - "documentation":"

    The number or frequency of requests exceeds the limit. Resubmit your request later.

    " + "documentation":"

    Your request was throttled because of service-wide limitations. Resubmit your request later or in a different region. You can also purchase Provisioned Throughput to increase the rate or number of tokens you can process.

    " }, "modelTimeoutException":{ "shape":"ModelTimeoutException", "documentation":"

    The request took too long to process. Processing time exceeded the model timeout length.

    " - } + }, + "serviceUnavailableException":{"shape":"ServiceUnavailableException"} }, "documentation":"

    Definition of content in the response stream.

    ", "eventstream":true @@ -1783,13 +1793,23 @@ "members":{ "message":{"shape":"NonBlankString"} }, - "documentation":"

    The number of requests exceeds the service quota. Resubmit your request later.

    ", + "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.

    ", "error":{ "httpStatusCode":400, "senderFault":true }, "exception":true }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

    The service isn't currently available. Try again later.

    ", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, "SpecificToolChoice":{ "type":"structure", "required":["name"], @@ -1843,7 +1863,7 @@ "members":{ "message":{"shape":"NonBlankString"} }, - "documentation":"

    The number of requests exceeds the limit. Resubmit your request later.

    ", + "documentation":"

    Your request was throttled because of service-wide limitations. Resubmit your request later or in a different region. You can also purchase Provisioned Throughput to increase the rate or number of tokens you can process.

    ", "error":{ "httpStatusCode":429, "senderFault":true diff --git a/tools/code-generation/api-descriptions/codecommit-2015-04-13.normal.json b/tools/code-generation/api-descriptions/codecommit-2015-04-13.normal.json index 58ffe2545d9..568f9f6bf5d 100644 --- a/tools/code-generation/api-descriptions/codecommit-2015-04-13.normal.json +++ b/tools/code-generation/api-descriptions/codecommit-2015-04-13.normal.json @@ -5,12 +5,14 @@ "endpointPrefix":"codecommit", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"CodeCommit", "serviceFullName":"AWS CodeCommit", "serviceId":"CodeCommit", "signatureVersion":"v4", "targetPrefix":"CodeCommit_20150413", - "uid":"codecommit-2015-04-13" + "uid":"codecommit-2015-04-13", + "auth":["aws.auth#sigv4"] }, "operations":{ "AssociateApprovalRuleTemplateWithRepository":{ @@ -327,6 +329,7 @@ {"shape":"InvalidRepositoryNameException"}, {"shape":"InvalidRepositoryDescriptionException"}, {"shape":"RepositoryLimitExceededException"}, + {"shape":"OperationNotAllowedException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, @@ -3409,7 +3412,7 @@ }, "kmsKeyId":{ "shape":"KmsKeyId", - "documentation":"

    The ID of the encryption key. You can view the ID of an encryption key in the KMS console, or use the KMS APIs to programmatically retrieve a key ID. For more information about acceptable values for kmsKeyID, see KeyId in the Decrypt API description in the Key Management Service API Reference.

    If no key is specified, the default aws/codecommit Amazon Web Services managed key is used.

    " + "documentation":"

    The ID of the encryption key. You can view the ID of an encryption key in the KMS console, or use the KMS APIs to programmatically retrieve a key ID. For more information about acceptable values for kmsKeyID, see KeyId in the Decrypt API description in the Key Management Service API Reference.

    If no key is specified, the default aws/codecommit Amazon Web Services managed key is used.

    " } }, "documentation":"

    Represents the input of a create repository operation.

    " @@ -6249,6 +6252,13 @@ }, "documentation":"

    Information about the type of an object in a merge operation.

    " }, + "OperationNotAllowedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The requested action is not allowed.

    ", + "exception":true + }, "OrderEnum":{ "type":"string", "enum":[ @@ -7983,7 +7993,7 @@ }, "kmsKeyId":{ "shape":"KmsKeyId", - "documentation":"

    The ID of the encryption key. You can view the ID of an encryption key in the KMS console, or use the KMS APIs to programmatically retrieve a key ID. For more information about acceptable values for keyID, see KeyId in the Decrypt API description in the Key Management Service API Reference.

    " + "documentation":"

    The ID of the encryption key. You can view the ID of an encryption key in the KMS console, or use the KMS APIs to programmatically retrieve a key ID. For more information about acceptable values for keyID, see KeyId in the Decrypt API description in the Key Management Service API Reference.

    " } } }, diff --git a/tools/code-generation/api-descriptions/datazone-2018-05-10.normal.json b/tools/code-generation/api-descriptions/datazone-2018-05-10.normal.json index 56f466eb715..0afbb715910 100644 --- a/tools/code-generation/api-descriptions/datazone-2018-05-10.normal.json +++ b/tools/code-generation/api-descriptions/datazone-2018-05-10.normal.json @@ -1126,6 +1126,25 @@ ], "documentation":"

    Gets the blueprint configuration in Amazon DataZone.

    " }, + "GetEnvironmentCredentials":{ + "name":"GetEnvironmentCredentials", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/environments/{environmentIdentifier}/credentials", + "responseCode":200 + }, + "input":{"shape":"GetEnvironmentCredentialsInput"}, + "output":{"shape":"GetEnvironmentCredentialsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

    Gets the credentials of an environment in Amazon DataZone.

    " + }, "GetEnvironmentProfile":{ "name":"GetEnvironmentProfile", "http":{ @@ -8062,6 +8081,49 @@ } } }, + "GetEnvironmentCredentialsInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "environmentIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

    The ID of the Amazon DataZone domain in which this environment and its credentials exist.

    ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentIdentifier":{ + "shape":"EnvironmentId", + "documentation":"

    The ID of the environment whose credentials this operation gets.

    ", + "location":"uri", + "locationName":"environmentIdentifier" + } + } + }, + "GetEnvironmentCredentialsOutput":{ + "type":"structure", + "members":{ + "accessKeyId":{ + "shape":"String", + "documentation":"

    The access key ID of the environment.

    " + }, + "expiration":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

    The expiration timestamp of the environment credentials.

    " + }, + "secretAccessKey":{ + "shape":"String", + "documentation":"

    The secret access key of the environment credentials.

    " + }, + "sessionToken":{ + "shape":"String", + "documentation":"

    The session token of the environment credentials.

    " + } + }, + "sensitive":true + }, "GetEnvironmentInput":{ "type":"structure", "required":[ 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 e3cbd3a0491..b6fcd25f936 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 @@ -29992,7 +29992,7 @@ }, "ImageId":{ "shape":"ImageId", - "documentation":"

    The ID of the AMI. An AMI is required to launch an instance. This parameter is only available for fleets of type instant. For fleets of type maintain and request, you must specify the AMI ID in the launch template.

    ", + "documentation":"

    The ID of the AMI in the format ami-17characters00000.

    Alternatively, you can specify a Systems Manager parameter, using one of the following formats. The Systems Manager parameter will resolve to an AMI ID on launch.

    To reference a public parameter:

    • resolve:ssm:public-parameter

    To reference a parameter stored in the same account:

    • resolve:ssm:parameter-name

    • resolve:ssm:parameter-name:version-number

    • resolve:ssm:parameter-name:label

    To reference a parameter shared from another Amazon Web Services account:

    • resolve:ssm:parameter-ARN

    • resolve:ssm:parameter-ARN:version-number

    • resolve:ssm:parameter-ARN:label

    For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

    This parameter is only available for fleets of type instant. For fleets of type maintain and request, you must specify the AMI ID in the launch template.

    ", "locationName":"imageId" } }, @@ -30049,7 +30049,7 @@ }, "ImageId":{ "shape":"ImageId", - "documentation":"

    The ID of the AMI. An AMI is required to launch an instance. This parameter is only available for fleets of type instant. For fleets of type maintain and request, you must specify the AMI ID in the launch template.

    " + "documentation":"

    The ID of the AMI in the format ami-17characters00000.

    Alternatively, you can specify a Systems Manager parameter, using one of the following formats. The Systems Manager parameter will resolve to an AMI ID on launch.

    To reference a public parameter:

    • resolve:ssm:public-parameter

    To reference a parameter stored in the same account:

    • resolve:ssm:parameter-name

    • resolve:ssm:parameter-name:version-number

    • resolve:ssm:parameter-name:label

    To reference a parameter shared from another Amazon Web Services account:

    • resolve:ssm:parameter-ARN

    • resolve:ssm:parameter-ARN:version-number

    • resolve:ssm:parameter-ARN:label

    For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

    This parameter is only available for fleets of type instant. For fleets of type maintain and request, you must specify the AMI ID in the launch template.

    " } }, "documentation":"

    Describes overrides for a launch template.

    " @@ -49987,7 +49987,7 @@ }, "ImageId":{ "shape":"ImageId", - "documentation":"

    The ID of the AMI. Alternatively, you can specify a Systems Manager parameter, which will resolve to an AMI ID on launch.

    Valid formats:

    • ami-17characters00000

    • resolve:ssm:parameter-name

    • resolve:ssm:parameter-name:version-number

    • resolve:ssm:parameter-name:label

    • resolve:ssm:public-parameter

    Currently, EC2 Fleet and Spot Fleet do not support specifying a Systems Manager parameter. If the launch template will be used by an EC2 Fleet or Spot Fleet, you must specify the AMI ID.

    For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

    " + "documentation":"

    The ID of the AMI in the format ami-17characters00000.

    Alternatively, you can specify a Systems Manager parameter, using one of the following formats. The Systems Manager parameter will resolve to an AMI ID on launch.

    To reference a public parameter:

    • resolve:ssm:public-parameter

    To reference a parameter stored in the same account:

    • resolve:ssm:parameter-name

    • resolve:ssm:parameter-name:version-number

    • resolve:ssm:parameter-name:label

    To reference a parameter shared from another Amazon Web Services account:

    • resolve:ssm:parameter-ARN

    • resolve:ssm:parameter-ARN:version-number

    • resolve:ssm:parameter-ARN:label

    For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

    If the launch template will be used for an EC2 Fleet or Spot Fleet, note the following:

    • Only EC2 Fleets of type instant support specifying a Systems Manager parameter.

    • For EC2 Fleets of type maintain or request, or for Spot Fleets, you must specify the AMI ID.

    " }, "InstanceType":{ "shape":"InstanceType", @@ -51193,7 +51193,6 @@ "verified-access-trust-provider", "vpn-connection-device-type", "vpc-block-public-access-exclusion", - "vpc-encryption-control", "ipam-resource-discovery", "ipam-resource-discovery-association", "instance-connect-endpoint", diff --git a/tools/code-generation/api-descriptions/ecr-2015-09-21.normal.json b/tools/code-generation/api-descriptions/ecr-2015-09-21.normal.json index b733f6fe5a3..a02e2f111b6 100644 --- a/tools/code-generation/api-descriptions/ecr-2015-09-21.normal.json +++ b/tools/code-generation/api-descriptions/ecr-2015-09-21.normal.json @@ -140,6 +140,23 @@ ], "documentation":"

    Creates a repository. For more information, see Amazon ECR repositories in the Amazon Elastic Container Registry User Guide.

    " }, + "CreateRepositoryCreationTemplate":{ + "name":"CreateRepositoryCreationTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRepositoryCreationTemplateRequest"}, + "output":{"shape":"CreateRepositoryCreationTemplateResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"}, + {"shape":"TemplateAlreadyExistsException"} + ], + "documentation":"

    Creates a repository creation template. This template is used to define the settings for repositories created by Amazon ECR on your behalf. For example, repositories created through pull through cache actions. For more information, see Private repository creation templates in the Amazon Elastic Container Registry User Guide.

    " + }, "DeleteLifecyclePolicy":{ "name":"DeleteLifecyclePolicy", "http":{ @@ -206,6 +223,22 @@ ], "documentation":"

    Deletes a repository. If the repository isn't empty, you must either delete the contents of the repository or use the force option to delete the repository and have Amazon ECR delete all of its contents on your behalf.

    " }, + "DeleteRepositoryCreationTemplate":{ + "name":"DeleteRepositoryCreationTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRepositoryCreationTemplateRequest"}, + "output":{"shape":"DeleteRepositoryCreationTemplateResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"TemplateNotFoundException"} + ], + "documentation":"

    Deletes a repository creation template.

    " + }, "DeleteRepositoryPolicy":{ "name":"DeleteRepositoryPolicy", "http":{ @@ -319,6 +352,21 @@ ], "documentation":"

    Describes image repositories in a registry.

    " }, + "DescribeRepositoryCreationTemplates":{ + "name":"DescribeRepositoryCreationTemplates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRepositoryCreationTemplatesRequest"}, + "output":{"shape":"DescribeRepositoryCreationTemplatesResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

    Returns details about the repository creation templates in a registry. The prefixes request parameter can be used to return the details for a specific repository creation template.

    " + }, "GetAuthorizationToken":{ "name":"GetAuthorizationToken", "http":{ @@ -590,7 +638,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ValidationException"} ], - "documentation":"

    Creates or updates the replication configuration for a registry. The existing replication configuration for a repository can be retrieved with the DescribeRegistry API action. The first time the PutReplicationConfiguration API is called, a service-linked IAM role is created in your account for the replication process. For more information, see Using service-linked roles for Amazon ECR in the Amazon Elastic Container Registry User Guide.

    When configuring cross-account replication, the destination account must grant the source account permission to replicate. This permission is controlled using a registry permissions policy. For more information, see PutRegistryPolicy.

    " + "documentation":"

    Creates or updates the replication configuration for a registry. The existing replication configuration for a repository can be retrieved with the DescribeRegistry API action. The first time the PutReplicationConfiguration API is called, a service-linked IAM role is created in your account for the replication process. For more information, see Using service-linked roles for Amazon ECR in the Amazon Elastic Container Registry User Guide. For more information on the custom role for replication, see Creating an IAM role for replication.

    When configuring cross-account replication, the destination account must grant the source account permission to replicate. This permission is controlled using a registry permissions policy. For more information, see PutRegistryPolicy.

    " }, "SetRepositoryPolicy":{ "name":"SetRepositoryPolicy", @@ -697,6 +745,22 @@ ], "documentation":"

    Updates an existing pull through cache rule.

    " }, + "UpdateRepositoryCreationTemplate":{ + "name":"UpdateRepositoryCreationTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRepositoryCreationTemplateRequest"}, + "output":{"shape":"UpdateRepositoryCreationTemplateResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"TemplateNotFoundException"} + ], + "documentation":"

    Updates an existing repository creation template.

    " + }, "UploadLayerPart":{ "name":"UploadLayerPart", "http":{ @@ -1034,7 +1098,7 @@ }, "upstreamRegistryUrl":{ "shape":"Url", - "documentation":"

    The registry URL of the upstream public registry to use as the source for the pull through cache rule. The following is the syntax to use for each supported upstream registry.

    • Amazon ECR Public (ecr-public) - public.ecr.aws

    • Docker Hub (docker-hub) - registry-1.docker.io

    • Quay (quay) - quay.io

    • Kubernetes (k8s) - registry.k8s.io

    • GitHub Container Registry (github-container-registry) - ghcr.io

    • Microsoft Azure Container Registry (azure-container-registry) - <custom>.azurecr.io

    • GitLab Container Registry (gitlab-container-registry) - registry.gitlab.com

    " + "documentation":"

    The registry URL of the upstream public registry to use as the source for the pull through cache rule. The following is the syntax to use for each supported upstream registry.

    • Amazon ECR Public (ecr-public) - public.ecr.aws

    • Docker Hub (docker-hub) - registry-1.docker.io

    • Quay (quay) - quay.io

    • Kubernetes (k8s) - registry.k8s.io

    • GitHub Container Registry (github-container-registry) - ghcr.io

    • Microsoft Azure Container Registry (azure-container-registry) - <custom>.azurecr.io

    " }, "registryId":{ "shape":"RegistryId", @@ -1079,6 +1143,64 @@ } } }, + "CreateRepositoryCreationTemplateRequest":{ + "type":"structure", + "required":[ + "prefix", + "appliedFor" + ], + "members":{ + "prefix":{ + "shape":"Prefix", + "documentation":"

    The repository namespace prefix to associate with the template. All repositories created using this namespace prefix will have the settings defined in this template applied. For example, a prefix of prod would apply to all repositories beginning with prod/. Similarly, a prefix of prod/team would apply to all repositories beginning with prod/team/.

    To apply a template to all repositories in your registry that don't have an associated creation template, you can use ROOT as the prefix.

    There is always an assumed / applied to the end of the prefix. If you specify ecr-public as the prefix, Amazon ECR treats that as ecr-public/. When using a pull through cache rule, the repository prefix you specify during rule creation is what you should specify as your repository creation template prefix as well.

    " + }, + "description":{ + "shape":"RepositoryTemplateDescription", + "documentation":"

    A description for the repository creation template.

    " + }, + "encryptionConfiguration":{ + "shape":"EncryptionConfigurationForRepositoryCreationTemplate", + "documentation":"

    The encryption configuration to use for repositories created using the template.

    " + }, + "resourceTags":{ + "shape":"TagList", + "documentation":"

    The metadata to apply to the repository to help you categorize and organize. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

    " + }, + "imageTagMutability":{ + "shape":"ImageTagMutability", + "documentation":"

    The tag mutability setting for the repository. If this parameter is omitted, the default setting of MUTABLE will be used which will allow image tags to be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.

    " + }, + "repositoryPolicy":{ + "shape":"RepositoryPolicyText", + "documentation":"

    The repository policy to apply to repositories created using the template. A repository policy is a permissions policy associated with a repository to control access permissions.

    " + }, + "lifecyclePolicy":{ + "shape":"LifecyclePolicyTextForRepositoryCreationTemplate", + "documentation":"

    The lifecycle policy to use for repositories created using the template.

    " + }, + "appliedFor":{ + "shape":"RCTAppliedForList", + "documentation":"

    A list of enumerable strings representing the Amazon ECR repository creation scenarios that this template will apply towards. The two supported scenarios are PULL_THROUGH_CACHE and REPLICATION

    " + }, + "customRoleArn":{ + "shape":"CustomRoleArn", + "documentation":"

    The ARN of the role to be assumed by Amazon ECR. This role must be in the same account as the registry that you are configuring.

    " + } + } + }, + "CreateRepositoryCreationTemplateResponse":{ + "type":"structure", + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

    The registry ID associated with the request.

    " + }, + "repositoryCreationTemplate":{ + "shape":"RepositoryCreationTemplate", + "documentation":"

    The details of the repository creation template associated with the request.

    " + } + } + }, "CreateRepositoryRequest":{ "type":"structure", "required":["repositoryName"], @@ -1125,6 +1247,10 @@ "min":50, "pattern":"^arn:aws:secretsmanager:[a-zA-Z0-9-:]+:secret:ecr\\-pullthroughcache\\/[a-zA-Z0-9\\/_+=.@-]+$" }, + "CustomRoleArn":{ + "type":"string", + "max":2048 + }, "CvssScore":{ "type":"structure", "members":{ @@ -1288,6 +1414,29 @@ } } }, + "DeleteRepositoryCreationTemplateRequest":{ + "type":"structure", + "required":["prefix"], + "members":{ + "prefix":{ + "shape":"Prefix", + "documentation":"

    The repository namespace prefix associated with the repository creation template.

    " + } + } + }, + "DeleteRepositoryCreationTemplateResponse":{ + "type":"structure", + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

    The registry ID associated with the request.

    " + }, + "repositoryCreationTemplate":{ + "shape":"RepositoryCreationTemplate", + "documentation":"

    The details of the repository creation template that was deleted.

    " + } + } + }, "DeleteRepositoryPolicyRequest":{ "type":"structure", "required":["repositoryName"], @@ -1527,7 +1676,7 @@ "members":{ "registryId":{ "shape":"RegistryId", - "documentation":"

    The ID of the registry.

    " + "documentation":"

    The registry ID associated with the request.

    " }, "replicationConfiguration":{ "shape":"ReplicationConfiguration", @@ -1569,6 +1718,40 @@ } } }, + "DescribeRepositoryCreationTemplatesRequest":{ + "type":"structure", + "members":{ + "prefixes":{ + "shape":"PrefixList", + "documentation":"

    The repository namespace prefixes associated with the repository creation templates to describe. If this value is not specified, all repository creation templates are returned.

    " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    The nextToken value returned from a previous paginated DescribeRepositoryCreationTemplates request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

    This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of repository results returned by DescribeRepositoryCreationTemplatesRequest in paginated output. When this parameter is used, DescribeRepositoryCreationTemplatesRequest only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeRepositoryCreationTemplatesRequest request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then DescribeRepositoryCreationTemplatesRequest returns up to 100 results and a nextToken value, if applicable.

    " + } + } + }, + "DescribeRepositoryCreationTemplatesResponse":{ + "type":"structure", + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

    The registry ID associated with the request.

    " + }, + "repositoryCreationTemplates":{ + "shape":"RepositoryCreationTemplateList", + "documentation":"

    The details of the repository creation templates.

    " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    The nextToken value to include in a future DescribeRepositoryCreationTemplates request. When the results of a DescribeRepositoryCreationTemplates request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, "EmptyUploadException":{ "type":"structure", "members":{ @@ -1586,14 +1769,29 @@ "members":{ "encryptionType":{ "shape":"EncryptionType", - "documentation":"

    The encryption type to use.

    If you use the KMS encryption type, the contents of the repository will be encrypted using server-side encryption with Key Management Service key stored in KMS. When you use KMS to encrypt your data, you can either use the default Amazon Web Services managed KMS key for Amazon ECR, or specify your own KMS key, which you already created. For more information, see Protecting data using server-side encryption with an KMS key stored in Key Management Service (SSE-KMS) in the Amazon Simple Storage Service Console Developer Guide.

    If you use the AES256 encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES-256 encryption algorithm. For more information, see Protecting data using server-side encryption with Amazon S3-managed encryption keys (SSE-S3) in the Amazon Simple Storage Service Console Developer Guide.

    " + "documentation":"

    The encryption type to use.

    If you use the KMS encryption type, the contents of the repository will be encrypted using server-side encryption with Key Management Service key stored in KMS. When you use KMS to encrypt your data, you can either use the default Amazon Web Services managed KMS key for Amazon ECR, or specify your own KMS key, which you already created. For more information, see Protecting data using server-side encryption with an KMS key stored in Key Management Service (SSE-KMS) in the Amazon Simple Storage Service Console Developer Guide.

    If you use the AES256 encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm. For more information, see Protecting data using server-side encryption with Amazon S3-managed encryption keys (SSE-S3) in the Amazon Simple Storage Service Console Developer Guide.

    " }, "kmsKey":{ "shape":"KmsKey", "documentation":"

    If you use the KMS encryption type, specify the KMS key to use for encryption. The alias, key ID, or full ARN of the KMS key can be specified. The key must exist in the same Region as the repository. If no key is specified, the default Amazon Web Services managed KMS key for Amazon ECR will be used.

    " } }, - "documentation":"

    The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest.

    By default, when no encryption configuration is set or the AES256 encryption type is used, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts your data at rest using an AES-256 encryption algorithm. This does not require any action on your part.

    For more control over the encryption of the contents of your repository, you can use server-side encryption with Key Management Service key stored in Key Management Service (KMS) to encrypt your images. For more information, see Amazon ECR encryption at rest in the Amazon Elastic Container Registry User Guide.

    " + "documentation":"

    The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest.

    By default, when no encryption configuration is set or the AES256 encryption type is used, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts your data at rest using an AES256 encryption algorithm. This does not require any action on your part.

    For more control over the encryption of the contents of your repository, you can use server-side encryption with Key Management Service key stored in Key Management Service (KMS) to encrypt your images. For more information, see Amazon ECR encryption at rest in the Amazon Elastic Container Registry User Guide.

    " + }, + "EncryptionConfigurationForRepositoryCreationTemplate":{ + "type":"structure", + "required":["encryptionType"], + "members":{ + "encryptionType":{ + "shape":"EncryptionType", + "documentation":"

    The encryption type to use.

    If you use the KMS encryption type, the contents of the repository will be encrypted using server-side encryption with Key Management Service key stored in KMS. When you use KMS to encrypt your data, you can either use the default Amazon Web Services managed KMS key for Amazon ECR, or specify your own KMS key, which you already created. For more information, see Protecting data using server-side encryption with an KMS key stored in Key Management Service (SSE-KMS) in the Amazon Simple Storage Service Console Developer Guide.

    If you use the AES256 encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm. For more information, see Protecting data using server-side encryption with Amazon S3-managed encryption keys (SSE-S3) in the Amazon Simple Storage Service Console Developer Guide.

    " + }, + "kmsKey":{ + "shape":"KmsKeyForRepositoryCreationTemplate", + "documentation":"

    If you use the KMS encryption type, specify the KMS key to use for encryption. The full ARN of the KMS key must be specified. The key must exist in the same Region as the repository. If no key is specified, the default Amazon Web Services managed KMS key for Amazon ECR will be used.

    " + } + }, + "documentation":"

    The encryption configuration to associate with the repository creation template.

    " }, "EncryptionType":{ "type":"string", @@ -1865,7 +2063,7 @@ "members":{ "registryId":{ "shape":"RegistryId", - "documentation":"

    The ID of the registry.

    " + "documentation":"

    The registry ID associated with the request.

    " }, "policyText":{ "shape":"RegistryPolicyText", @@ -1883,7 +2081,7 @@ "members":{ "registryId":{ "shape":"RegistryId", - "documentation":"

    The ID of the registry.

    " + "documentation":"

    The registry ID associated with the request.

    " }, "scanningConfiguration":{ "shape":"RegistryScanningConfiguration", @@ -2361,6 +2559,12 @@ "max":2048, "min":1 }, + "KmsKeyForRepositoryCreationTemplate":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"^$|arn:aws:kms:[a-z0-9-]+:[0-9]{12}:key\\/[a-z0-9-]+" + }, "Layer":{ "type":"structure", "members":{ @@ -2586,6 +2790,11 @@ "max":30720, "min":100 }, + "LifecyclePolicyTextForRepositoryCreationTemplate":{ + "type":"string", + "max":30720, + "min":0 + }, "LifecyclePreviewMaxResults":{ "type":"integer", "max":100, @@ -2737,6 +2946,16 @@ "min":0 }, "Platform":{"type":"string"}, + "Prefix":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^((?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*/?|ROOT)$" + }, + "PrefixList":{ + "type":"list", + "member":{"shape":"Prefix"} + }, "ProxyEndpoint":{"type":"string"}, "PullThroughCacheRule":{ "type":"structure", @@ -2976,7 +3195,7 @@ "members":{ "registryId":{ "shape":"RegistryId", - "documentation":"

    The registry ID.

    " + "documentation":"

    The registry ID associated with the request.

    " }, "policyText":{ "shape":"RegistryPolicyText", @@ -3025,6 +3244,17 @@ } } }, + "RCTAppliedFor":{ + "type":"string", + "enum":[ + "REPLICATION", + "PULL_THROUGH_CACHE" + ] + }, + "RCTAppliedForList":{ + "type":"list", + "member":{"shape":"RCTAppliedFor"} + }, "Reason":{"type":"string"}, "Recommendation":{ "type":"structure", @@ -3242,6 +3472,60 @@ "documentation":"

    The specified repository already exists in the specified registry.

    ", "exception":true }, + "RepositoryCreationTemplate":{ + "type":"structure", + "members":{ + "prefix":{ + "shape":"Prefix", + "documentation":"

    The repository namespace prefix associated with the repository creation template.

    " + }, + "description":{ + "shape":"RepositoryTemplateDescription", + "documentation":"

    The description associated with the repository creation template.

    " + }, + "encryptionConfiguration":{ + "shape":"EncryptionConfigurationForRepositoryCreationTemplate", + "documentation":"

    The encryption configuration associated with the repository creation template.

    " + }, + "resourceTags":{ + "shape":"TagList", + "documentation":"

    The metadata to apply to the repository to help you categorize and organize. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

    " + }, + "imageTagMutability":{ + "shape":"ImageTagMutability", + "documentation":"

    The tag mutability setting for the repository. If this parameter is omitted, the default setting of MUTABLE will be used which will allow image tags to be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.

    " + }, + "repositoryPolicy":{ + "shape":"RepositoryPolicyText", + "documentation":"

    he repository policy to apply to repositories created using the template. A repository policy is a permissions policy associated with a repository to control access permissions.

    " + }, + "lifecyclePolicy":{ + "shape":"LifecyclePolicyTextForRepositoryCreationTemplate", + "documentation":"

    The lifecycle policy to use for repositories created using the template.

    " + }, + "appliedFor":{ + "shape":"RCTAppliedForList", + "documentation":"

    A list of enumerable Strings representing the repository creation scenarios that this template will apply towards. The two supported scenarios are PULL_THROUGH_CACHE and REPLICATION

    " + }, + "customRoleArn":{ + "shape":"CustomRoleArn", + "documentation":"

    The ARN of the role to be assumed by Amazon ECR.

    " + }, + "createdAt":{ + "shape":"Date", + "documentation":"

    The date and time, in JavaScript date format, when the repository creation template was created.

    " + }, + "updatedAt":{ + "shape":"Date", + "documentation":"

    The date and time, in JavaScript date format, when the repository creation template was last updated.

    " + } + }, + "documentation":"

    The details of the repository creation template associated with the request.

    " + }, + "RepositoryCreationTemplateList":{ + "type":"list", + "member":{"shape":"RepositoryCreationTemplate"} + }, "RepositoryFilter":{ "type":"structure", "required":[ @@ -3382,6 +3666,10 @@ "type":"list", "member":{"shape":"RepositoryScanningConfiguration"} }, + "RepositoryTemplateDescription":{ + "type":"string", + "max":256 + }, "Resource":{ "type":"structure", "members":{ @@ -3723,6 +4011,22 @@ "key":{"shape":"TagKey"}, "value":{"shape":"TagValue"} }, + "TemplateAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The repository creation template already exists. Specify a unique prefix and try again.

    ", + "exception":true + }, + "TemplateNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The specified repository creation template can't be found. Verify the registry ID and prefix and try again.

    ", + "exception":true + }, "Title":{"type":"string"}, "TooManyTagsException":{ "type":"structure", @@ -3845,6 +4149,58 @@ } } }, + "UpdateRepositoryCreationTemplateRequest":{ + "type":"structure", + "required":["prefix"], + "members":{ + "prefix":{ + "shape":"Prefix", + "documentation":"

    The repository namespace prefix that matches an existing repository creation template in the registry. All repositories created using this namespace prefix will have the settings defined in this template applied. For example, a prefix of prod would apply to all repositories beginning with prod/. This includes a repository named prod/team1 as well as a repository named prod/repository1.

    To apply a template to all repositories in your registry that don't have an associated creation template, you can use ROOT as the prefix.

    " + }, + "description":{ + "shape":"RepositoryTemplateDescription", + "documentation":"

    A description for the repository creation template.

    " + }, + "encryptionConfiguration":{"shape":"EncryptionConfigurationForRepositoryCreationTemplate"}, + "resourceTags":{ + "shape":"TagList", + "documentation":"

    The metadata to apply to the repository to help you categorize and organize. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

    " + }, + "imageTagMutability":{ + "shape":"ImageTagMutability", + "documentation":"

    Updates the tag mutability setting for the repository. If this parameter is omitted, the default setting of MUTABLE will be used which will allow image tags to be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.

    " + }, + "repositoryPolicy":{ + "shape":"RepositoryPolicyText", + "documentation":"

    Updates the repository policy created using the template. A repository policy is a permissions policy associated with a repository to control access permissions.

    " + }, + "lifecyclePolicy":{ + "shape":"LifecyclePolicyTextForRepositoryCreationTemplate", + "documentation":"

    Updates the lifecycle policy associated with the specified repository creation template.

    " + }, + "appliedFor":{ + "shape":"RCTAppliedForList", + "documentation":"

    Updates the list of enumerable strings representing the Amazon ECR repository creation scenarios that this template will apply towards. The two supported scenarios are PULL_THROUGH_CACHE and REPLICATION

    " + }, + "customRoleArn":{ + "shape":"CustomRoleArn", + "documentation":"

    The ARN of the role to be assumed by Amazon ECR. This role must be in the same account as the registry that you are configuring.

    " + } + } + }, + "UpdateRepositoryCreationTemplateResponse":{ + "type":"structure", + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

    The registry ID associated with the request.

    " + }, + "repositoryCreationTemplate":{ + "shape":"RepositoryCreationTemplate", + "documentation":"

    The details of the repository creation template associated with the request.

    " + } + } + }, "UpdatedTimestamp":{"type":"timestamp"}, "UploadId":{ "type":"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 ac6e3994970..72a635c57d0 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 @@ -1659,6 +1659,10 @@ "accessConfig":{ "shape":"AccessConfigResponse", "documentation":"

    The access configuration for the cluster.

    " + }, + "upgradePolicy":{ + "shape":"UpgradePolicyResponse", + "documentation":"

    This value indicates if extended support is enabled or disabled for the cluster.

    Learn more about EKS Extended Support in the EKS User Guide.

    " } }, "documentation":"

    An object representing an Amazon EKS cluster.

    " @@ -2006,6 +2010,10 @@ "bootstrapSelfManagedAddons":{ "shape":"BoxedBoolean", "documentation":"

    If you set this value to False when creating a cluster, the default networking add-ons will not be installed.

    The default networking addons include vpc-cni, coredns, and kube-proxy.

    Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.

    " + }, + "upgradePolicy":{ + "shape":"UpgradePolicyRequest", + "documentation":"

    New clusters, by default, have extended support enabled. You can disable extended support when creating a cluster by setting this value to STANDARD.

    " } } }, @@ -4899,6 +4907,13 @@ "type":"list", "member":{"shape":"String"} }, + "SupportType":{ + "type":"string", + "enum":[ + "STANDARD", + "EXTENDED" + ] + }, "TagKey":{ "type":"string", "documentation":"

    One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

    ", @@ -5183,6 +5198,10 @@ "accessConfig":{ "shape":"UpdateAccessConfigRequest", "documentation":"

    The access configuration for the cluster.

    " + }, + "upgradePolicy":{ + "shape":"UpgradePolicyRequest", + "documentation":"

    You can enable or disable extended support for clusters currently on standard support. You cannot disable extended support once it starts. You must enable extended support before your cluster exits standard support.

    " } } }, @@ -5412,7 +5431,8 @@ "SecurityGroups", "Subnets", "AuthenticationMode", - "PodIdentityAssociations" + "PodIdentityAssociations", + "UpgradePolicy" ] }, "UpdateParams":{ @@ -5493,9 +5513,30 @@ "AssociateEncryptionConfig", "AddonUpdate", "VpcConfigUpdate", - "AccessConfigUpdate" + "AccessConfigUpdate", + "UpgradePolicyUpdate" ] }, + "UpgradePolicyRequest":{ + "type":"structure", + "members":{ + "supportType":{ + "shape":"SupportType", + "documentation":"

    If the cluster is set to EXTENDED, it will enter extended support at the end of standard support. If the cluster is set to STANDARD, it will be automatically upgraded at the end of standard support.

    Learn more about EKS Extended Support in the EKS User Guide.

    " + } + }, + "documentation":"

    The support policy to use for the cluster. Extended support allows you to remain on specific Kubernetes versions for longer. Clusters in extended support have higher costs. The default value is EXTENDED. Use STANDARD to disable extended support.

    Learn more about EKS Extended Support in the EKS User Guide.

    " + }, + "UpgradePolicyResponse":{ + "type":"structure", + "members":{ + "supportType":{ + "shape":"SupportType", + "documentation":"

    If the cluster is set to EXTENDED, it will enter extended support at the end of standard support. If the cluster is set to STANDARD, it will be automatically upgraded at the end of standard support.

    Learn more about EKS Extended Support in the EKS User Guide.

    " + } + }, + "documentation":"

    This value indicates if extended support is enabled or disabled for the cluster.

    Learn more about EKS Extended Support in the EKS User Guide.

    " + }, "VpcConfigRequest":{ "type":"structure", "members":{ diff --git a/tools/code-generation/api-descriptions/elasticloadbalancingv2-2015-12-01.normal.json b/tools/code-generation/api-descriptions/elasticloadbalancingv2-2015-12-01.normal.json index 07ffd9c922c..6825fd5cf36 100644 --- a/tools/code-generation/api-descriptions/elasticloadbalancingv2-2015-12-01.normal.json +++ b/tools/code-generation/api-descriptions/elasticloadbalancingv2-2015-12-01.normal.json @@ -10,7 +10,8 @@ "serviceId":"Elastic Load Balancing v2", "signatureVersion":"v4", "uid":"elasticloadbalancingv2-2015-12-01", - "xmlNamespace":"http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/" + "xmlNamespace":"http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/", + "auth":["aws.auth#sigv4"] }, "operations":{ "AddListenerCertificates":{ @@ -257,6 +258,24 @@ ], "documentation":"

    Deletes the specified rule.

    You can't delete the default rule.

    " }, + "DeleteSharedTrustStoreAssociation":{ + "name":"DeleteSharedTrustStoreAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSharedTrustStoreAssociationInput"}, + "output":{ + "shape":"DeleteSharedTrustStoreAssociationOutput", + "resultWrapper":"DeleteSharedTrustStoreAssociationResult" + }, + "errors":[ + {"shape":"TrustStoreNotFoundException"}, + {"shape":"DeleteAssociationSameAccountException"}, + {"shape":"TrustStoreAssociationNotFoundException"} + ], + "documentation":"

    Deletes a shared trust store association.

    " + }, "DeleteTargetGroup":{ "name":"DeleteTargetGroup", "http":{ @@ -522,7 +541,7 @@ {"shape":"TrustStoreNotFoundException"}, {"shape":"RevocationIdNotFoundException"} ], - "documentation":"

    Describes the revocation files in use by the specified trust store arn, or revocation ID.

    " + "documentation":"

    Describes the revocation files in use by the specified trust store or revocation files.

    " }, "DescribeTrustStores":{ "name":"DescribeTrustStores", @@ -538,7 +557,23 @@ "errors":[ {"shape":"TrustStoreNotFoundException"} ], - "documentation":"

    Describes all trust stores for a given account by trust store arn’s or name.

    " + "documentation":"

    Describes all trust stores for the specified account.

    " + }, + "GetResourcePolicy":{ + "name":"GetResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResourcePolicyInput"}, + "output":{ + "shape":"GetResourcePolicyOutput", + "resultWrapper":"GetResourcePolicyResult" + }, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Retrieves the resource policy for a specified resource.

    " }, "GetTrustStoreCaCertificatesBundle":{ "name":"GetTrustStoreCaCertificatesBundle", @@ -700,7 +735,7 @@ {"shape":"InvalidCaCertificatesBundleException"}, {"shape":"CaCertificatesBundleNotFoundException"} ], - "documentation":"

    Update the ca certificate bundle for a given trust store.

    " + "documentation":"

    Update the ca certificate bundle for the specified trust store.

    " }, "RegisterTargets":{ "name":"RegisterTargets", @@ -1564,6 +1599,18 @@ }, "DNSName":{"type":"string"}, "Default":{"type":"boolean"}, + "DeleteAssociationSameAccountException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified association cannot be within the same account.

    ", + "error":{ + "code":"DeleteAssociationSameAccount", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "DeleteListenerInput":{ "type":"structure", "required":["ListenerArn"], @@ -1609,6 +1656,28 @@ "members":{ } }, + "DeleteSharedTrustStoreAssociationInput":{ + "type":"structure", + "required":[ + "TrustStoreArn", + "ResourceArn" + ], + "members":{ + "TrustStoreArn":{ + "shape":"TrustStoreArn", + "documentation":"

    The Amazon Resource Name (ARN) of the trust store.

    " + }, + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + } + } + }, + "DeleteSharedTrustStoreAssociationOutput":{ + "type":"structure", + "members":{ + } + }, "DeleteTargetGroupInput":{ "type":"structure", "required":["TargetGroupArn"], @@ -1963,7 +2032,7 @@ }, "Include":{ "shape":"ListOfDescribeTargetHealthIncludeOptions", - "documentation":"

    Used to inclue anomaly detection information.

    " + "documentation":"

    Used to include anomaly detection information.

    " } } }, @@ -2225,6 +2294,25 @@ }, "documentation":"

    Information about a forward action.

    " }, + "GetResourcePolicyInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + } + } + }, + "GetResourcePolicyOutput":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"Policy", + "documentation":"

    The content of the resource policy.

    " + } + } + }, "GetTrustStoreCaCertificatesBundleInput":{ "type":"structure", "required":["TrustStoreArn"], @@ -2979,6 +3067,10 @@ "IgnoreClientCertificateExpiry":{ "shape":"IgnoreClientCertificateExpiry", "documentation":"

    Indicates whether expired client certificates are ignored.

    " + }, + "TrustStoreAssociationStatus":{ + "shape":"TrustStoreAssociationStatusEnum", + "documentation":"

    Indicates a shared trust stores association status.

    " } }, "documentation":"

    Information about the mutual authentication attributes of a listener.

    " @@ -3019,6 +3111,10 @@ }, "documentation":"

    Information about a path pattern condition.

    " }, + "Policy":{ + "type":"string", + "min":1 + }, "Port":{ "type":"integer", "max":65535, @@ -3241,6 +3337,18 @@ }, "exception":true }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified resource does not exist.

    ", + "error":{ + "code":"ResourceNotFound", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "RevocationContent":{ "type":"structure", "members":{ @@ -3445,7 +3553,7 @@ }, "IpAddressType":{ "shape":"IpAddressType", - "documentation":"

    Note: Internal load balancers must use the ipv4 IP address type.

    [Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).

    [Network Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load balancer with a UDP or TCP_UDP listener.

    [Gateway Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

    " + "documentation":"

    Note: Internal load balancers must use the ipv4 IP address type.

    [Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).

    Note: Application Load Balancer authentication only supports IPv4 addresses when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer cannot complete the authentication process, resulting in HTTP 500 errors.

    [Network Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load balancer with a UDP or TCP_UDP listener.

    [Gateway Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

    " } } }, @@ -4166,7 +4274,26 @@ }, "documentation":"

    Information about the resources a trust store is associated with.

    " }, + "TrustStoreAssociationNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified association does not exist.

    ", + "error":{ + "code":"AssociationNotFound", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "TrustStoreAssociationResourceArn":{"type":"string"}, + "TrustStoreAssociationStatusEnum":{ + "type":"string", + "enum":[ + "active", + "removed" + ] + }, "TrustStoreAssociations":{ "type":"list", "member":{"shape":"TrustStoreAssociation"} diff --git a/tools/code-generation/api-descriptions/network-firewall-2020-11-12.normal.json b/tools/code-generation/api-descriptions/network-firewall-2020-11-12.normal.json index 01fa19ed0c2..9b38531ba33 100644 --- a/tools/code-generation/api-descriptions/network-firewall-2020-11-12.normal.json +++ b/tools/code-generation/api-descriptions/network-firewall-2020-11-12.normal.json @@ -5,13 +5,15 @@ "endpointPrefix":"network-firewall", "jsonVersion":"1.0", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"Network Firewall", "serviceFullName":"AWS Network Firewall", "serviceId":"Network Firewall", "signatureVersion":"v4", "signingName":"network-firewall", "targetPrefix":"NetworkFirewall_20201112", - "uid":"network-firewall-2020-11-12" + "uid":"network-firewall-2020-11-12", + "auth":["aws.auth#sigv4"] }, "operations":{ "AssociateFirewallPolicy":{ @@ -118,7 +120,7 @@ {"shape":"LimitExceededException"}, {"shape":"InsufficientCapacityException"} ], - "documentation":"

    Creates an Network Firewall TLS inspection configuration. A TLS inspection configuration contains Certificate Manager certificate associations between and the scope configurations that Network Firewall uses to decrypt and re-encrypt traffic traveling through your firewall.

    After you create a TLS inspection configuration, you can associate it with a new firewall policy.

    To update the settings for a TLS inspection configuration, use UpdateTLSInspectionConfiguration.

    To manage a TLS inspection configuration's tags, use the standard Amazon Web Services resource tagging operations, ListTagsForResource, TagResource, and UntagResource.

    To retrieve information about TLS inspection configurations, use ListTLSInspectionConfigurations and DescribeTLSInspectionConfiguration.

    For more information about TLS inspection configurations, see Inspecting SSL/TLS traffic with TLS inspection configurations in the Network Firewall Developer Guide.

    " + "documentation":"

    Creates an Network Firewall TLS inspection configuration. Network Firewall uses TLS inspection configurations to decrypt your firewall's inbound and outbound SSL/TLS traffic. After decryption, Network Firewall inspects the traffic according to your firewall policy's stateful rules, and then re-encrypts it before sending it to its destination. You can enable inspection of your firewall's inbound traffic, outbound traffic, or both. To use TLS inspection with your firewall, you must first import or provision certificates using ACM, create a TLS inspection configuration, add that configuration to a new firewall policy, and then associate that policy with your firewall.

    To update the settings for a TLS inspection configuration, use UpdateTLSInspectionConfiguration.

    To manage a TLS inspection configuration's tags, use the standard Amazon Web Services resource tagging operations, ListTagsForResource, TagResource, and UntagResource.

    To retrieve information about TLS inspection configurations, use ListTLSInspectionConfigurations and DescribeTLSInspectionConfiguration.

    For more information about TLS inspection configurations, see Inspecting SSL/TLS traffic with TLS inspection configurations in the Network Firewall Developer Guide.

    " }, "DeleteFirewall":{ "name":"DeleteFirewall", @@ -2157,18 +2159,18 @@ "members":{ "LogType":{ "shape":"LogType", - "documentation":"

    The type of log to send. Alert logs report traffic that matches a StatefulRule with an action setting that sends an alert log message. Flow logs are standard network traffic flow logs.

    " + "documentation":"

    The type of log to record. You can record the following types of logs from your Network Firewall stateful engine.

    • ALERT - Logs for traffic that matches your stateful rules and that have an action that sends an alert. A stateful rule sends alerts for the rule actions DROP, ALERT, and REJECT. For more information, see StatefulRule.

    • FLOW - Standard network traffic flow logs. The stateful rules engine records flow logs for all network traffic that it receives. Each flow log record captures the network flow for a specific standard stateless rule group.

    • TLS - Logs for events that are related to TLS inspection. For more information, see Inspecting SSL/TLS traffic with TLS inspection configurations in the Network Firewall Developer Guide.

    " }, "LogDestinationType":{ "shape":"LogDestinationType", - "documentation":"

    The type of storage destination to send these logs to. You can send logs to an Amazon S3 bucket, a CloudWatch log group, or a Kinesis Data Firehose delivery stream.

    " + "documentation":"

    The type of storage destination to send these logs to. You can send logs to an Amazon S3 bucket, a CloudWatch log group, or a Firehose delivery stream.

    " }, "LogDestination":{ "shape":"LogDestinationMap", - "documentation":"

    The named location for the logs, provided in a key:value mapping that is specific to the chosen destination type.

    • For an Amazon S3 bucket, provide the name of the bucket, with key bucketName, and optionally provide a prefix, with key prefix. The following example specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET and the prefix alerts:

      \"LogDestination\": { \"bucketName\": \"DOC-EXAMPLE-BUCKET\", \"prefix\": \"alerts\" }

    • For a CloudWatch log group, provide the name of the CloudWatch log group, with key logGroup. The following example specifies a log group named alert-log-group:

      \"LogDestination\": { \"logGroup\": \"alert-log-group\" }

    • For a Kinesis Data Firehose delivery stream, provide the name of the delivery stream, with key deliveryStream. The following example specifies a delivery stream named alert-delivery-stream:

      \"LogDestination\": { \"deliveryStream\": \"alert-delivery-stream\" }

    " + "documentation":"

    The named location for the logs, provided in a key:value mapping that is specific to the chosen destination type.

    • For an Amazon S3 bucket, provide the name of the bucket, with key bucketName, and optionally provide a prefix, with key prefix.

      The following example specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET and the prefix alerts:

      \"LogDestination\": { \"bucketName\": \"DOC-EXAMPLE-BUCKET\", \"prefix\": \"alerts\" }

    • For a CloudWatch log group, provide the name of the CloudWatch log group, with key logGroup. The following example specifies a log group named alert-log-group:

      \"LogDestination\": { \"logGroup\": \"alert-log-group\" }

    • For a Firehose delivery stream, provide the name of the delivery stream, with key deliveryStream. The following example specifies a delivery stream named alert-delivery-stream:

      \"LogDestination\": { \"deliveryStream\": \"alert-delivery-stream\" }

    " } }, - "documentation":"

    Defines where Network Firewall sends logs for the firewall for one log type. This is used in LoggingConfiguration. You can send each type of log to an Amazon S3 bucket, a CloudWatch log group, or a Kinesis Data Firehose delivery stream.

    Network Firewall generates logs for stateful rule groups. You can save alert and flow log types. The stateful rules engine records flow logs for all network traffic that it receives. It records alert logs for traffic that matches stateful rules that have the rule action set to DROP or ALERT.

    " + "documentation":"

    Defines where Network Firewall sends logs for the firewall for one log type. This is used in LoggingConfiguration. You can send each type of log to an Amazon S3 bucket, a CloudWatch log group, or a Firehose delivery stream.

    Network Firewall generates logs for stateful rule groups. You can save alert, flow, and TLS log types.

    " }, "LogDestinationConfigs":{ "type":"list", @@ -2202,7 +2204,8 @@ "type":"string", "enum":[ "ALERT", - "FLOW" + "FLOW", + "TLS" ] }, "LoggingConfiguration":{ @@ -2848,7 +2851,7 @@ "members":{ "Action":{ "shape":"StatefulAction", - "documentation":"

    Defines what Network Firewall should do with the packets in a traffic flow when the flow matches the stateful rule criteria. For all actions, Network Firewall performs the specified action and discontinues stateful inspection of the traffic flow.

    The actions for a stateful rule are defined as follows:

    • PASS - Permits the packets to go to the intended destination.

    • DROP - Blocks the packets from going to the intended destination and sends an alert log message, if alert logging is configured in the Firewall LoggingConfiguration.

    • ALERT - Sends an alert log message, if alert logging is configured in the Firewall LoggingConfiguration.

      You can use this action to test a rule that you intend to use to drop traffic. You can enable the rule with ALERT action, verify in the logs that the rule is filtering as you want, then change the action to DROP.

    " + "documentation":"

    Defines what Network Firewall should do with the packets in a traffic flow when the flow matches the stateful rule criteria. For all actions, Network Firewall performs the specified action and discontinues stateful inspection of the traffic flow.

    The actions for a stateful rule are defined as follows:

    • PASS - Permits the packets to go to the intended destination.

    • DROP - Blocks the packets from going to the intended destination and sends an alert log message, if alert logging is configured in the Firewall LoggingConfiguration.

    • ALERT - Sends an alert log message, if alert logging is configured in the Firewall LoggingConfiguration.

      You can use this action to test a rule that you intend to use to drop traffic. You can enable the rule with ALERT action, verify in the logs that the rule is filtering as you want, then change the action to DROP.

    • REJECT - Drops traffic that matches the conditions of the stateful rule, and sends a TCP reset packet back to sender of the packet. A TCP reset packet is a packet with no payload and an RST bit contained in the TCP header flags. REJECT is available only for TCP traffic. This option doesn't support FTP or IMAP protocols.

    " }, "Header":{ "shape":"Header", diff --git a/tools/code-generation/api-descriptions/outposts-2019-12-03.normal.json b/tools/code-generation/api-descriptions/outposts-2019-12-03.normal.json index 0e8874b4f17..185ac60df21 100644 --- a/tools/code-generation/api-descriptions/outposts-2019-12-03.normal.json +++ b/tools/code-generation/api-descriptions/outposts-2019-12-03.normal.json @@ -5,12 +5,14 @@ "endpointPrefix":"outposts", "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceAbbreviation":"Outposts", "serviceFullName":"AWS Outposts", "serviceId":"Outposts", "signatureVersion":"v4", "signingName":"outposts", - "uid":"outposts-2019-12-03" + "uid":"outposts-2019-12-03", + "auth":["aws.auth#sigv4"] }, "operations":{ "CancelCapacityTask":{ @@ -1529,7 +1531,11 @@ "InstanceTypeItem":{ "type":"structure", "members":{ - "InstanceType":{"shape":"InstanceType"} + "InstanceType":{"shape":"InstanceType"}, + "VCPUs":{ + "shape":"VCPUCount", + "documentation":"

    The number of default VCPUs in an instance type.

    " + } }, "documentation":"

    Information about an instance type.

    " }, @@ -2822,6 +2828,10 @@ "UPLINK_100G" ] }, + "VCPUCount":{ + "type":"integer", + "box":true + }, "ValidationException":{ "type":"structure", "members":{ diff --git a/tools/code-generation/api-descriptions/states-2016-11-23.normal.json b/tools/code-generation/api-descriptions/states-2016-11-23.normal.json index 4d4f708c5c8..9462c7dfec0 100644 --- a/tools/code-generation/api-descriptions/states-2016-11-23.normal.json +++ b/tools/code-generation/api-descriptions/states-2016-11-23.normal.json @@ -25,8 +25,12 @@ "output":{"shape":"CreateActivityOutput"}, "errors":[ {"shape":"ActivityLimitExceeded"}, + {"shape":"ActivityAlreadyExists"}, {"shape":"InvalidName"}, - {"shape":"TooManyTags"} + {"shape":"TooManyTags"}, + {"shape":"InvalidEncryptionConfiguration"}, + {"shape":"KmsAccessDeniedException"}, + {"shape":"KmsThrottlingException"} ], "documentation":"

    Creates an activity. An activity is a task that you write in any programming language and host on any machine that has access to Step Functions. Activities must poll Step Functions using the GetActivityTask API action and respond using SendTask* API actions. This function lets Step Functions know the existence of your activity and returns an identifier for use in a state machine and when polling from the activity.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    CreateActivity is an idempotent API. Subsequent requests won’t create a duplicate resource if it was already created. CreateActivity's idempotency check is based on the activity name. If a following request has different tags values, Step Functions will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

    ", "idempotent":true @@ -51,9 +55,12 @@ {"shape":"StateMachineTypeNotSupported"}, {"shape":"TooManyTags"}, {"shape":"ValidationException"}, - {"shape":"ConflictException"} + {"shape":"ConflictException"}, + {"shape":"InvalidEncryptionConfiguration"}, + {"shape":"KmsAccessDeniedException"}, + {"shape":"KmsThrottlingException"} ], - "documentation":"

    Creates a state machine. A state machine consists of a collection of states that can do work (Task states), determine to which states to transition next (Choice states), stop an execution with an error (Fail states), and so on. State machines are specified using a JSON-based, structured language. For more information, see Amazon States Language in the Step Functions User Guide.

    If you set the publish parameter of this API action to true, it publishes version 1 as the first revision of the state machine.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    CreateStateMachine is an idempotent API. Subsequent requests won’t create a duplicate resource if it was already created. CreateStateMachine's idempotency check is based on the state machine name, definition, type, LoggingConfiguration, and TracingConfiguration. The check is also based on the publish and versionDescription parameters. If a following request has a different roleArn or tags, Step Functions will ignore these differences and treat it as an idempotent request of the previous. In this case, roleArn and tags will not be updated, even if they are different.

    ", + "documentation":"

    Creates a state machine. A state machine consists of a collection of states that can do work (Task states), determine to which states to transition next (Choice states), stop an execution with an error (Fail states), and so on. State machines are specified using a JSON-based, structured language. For more information, see Amazon States Language in the Step Functions User Guide.

    If you set the publish parameter of this API action to true, it publishes version 1 as the first revision of the state machine.

    For additional control over security, you can encrypt your data using a customer-managed key for Step Functions state machines. You can configure a symmetric KMS key and data key reuse period when creating or updating a State Machine. The execution history and state machine definition will be encrypted with the key applied to the State Machine.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    CreateStateMachine is an idempotent API. Subsequent requests won’t create a duplicate resource if it was already created. CreateStateMachine's idempotency check is based on the state machine name, definition, type, LoggingConfiguration, TracingConfiguration, and EncryptionConfiguration The check is also based on the publish and versionDescription parameters. If a following request has a different roleArn or tags, Step Functions will ignore these differences and treat it as an idempotent request of the previous. In this case, roleArn and tags will not be updated, even if they are different.

    ", "idempotent":true }, "CreateStateMachineAlias":{ @@ -157,7 +164,10 @@ "output":{"shape":"DescribeExecutionOutput"}, "errors":[ {"shape":"ExecutionDoesNotExist"}, - {"shape":"InvalidArn"} + {"shape":"InvalidArn"}, + {"shape":"KmsAccessDeniedException"}, + {"shape":"KmsInvalidStateException"}, + {"shape":"KmsThrottlingException"} ], "documentation":"

    Provides information about a state machine execution, such as the state machine associated with the execution, the execution input and output, and relevant execution metadata. If you've redriven an execution, you can use this API action to return information about the redrives of that execution. In addition, you can use this API action to return the Map Run Amazon Resource Name (ARN) if the execution was dispatched by a Map Run.

    If you specify a version or alias ARN when you call the StartExecution API action, DescribeExecution returns that ARN.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    Executions of an EXPRESS state machine aren't supported by DescribeExecution unless a Map Run dispatched them.

    " }, @@ -185,7 +195,10 @@ "output":{"shape":"DescribeStateMachineOutput"}, "errors":[ {"shape":"InvalidArn"}, - {"shape":"StateMachineDoesNotExist"} + {"shape":"StateMachineDoesNotExist"}, + {"shape":"KmsAccessDeniedException"}, + {"shape":"KmsInvalidStateException"}, + {"shape":"KmsThrottlingException"} ], "documentation":"

    Provides information about a state machine's definition, its IAM role Amazon Resource Name (ARN), and configuration.

    A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN.

    The following are some examples of qualified and unqualified state machine ARNs:

    • The following qualified state machine ARN refers to a Distributed Map state with a label mapStateLabel in a state machine named myStateMachine.

      arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel

      If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails with ValidationException.

    • The following qualified state machine ARN refers to an alias named PROD.

      arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>

      If you provide a qualified state machine ARN that refers to a version ARN or an alias ARN, the request starts execution for that version or alias.

    • The following unqualified state machine ARN refers to a state machine named myStateMachine.

      arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>

    This API action returns the details for a state machine version if the stateMachineArn you specify is a state machine version ARN.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    " }, @@ -214,7 +227,10 @@ "output":{"shape":"DescribeStateMachineForExecutionOutput"}, "errors":[ {"shape":"ExecutionDoesNotExist"}, - {"shape":"InvalidArn"} + {"shape":"InvalidArn"}, + {"shape":"KmsAccessDeniedException"}, + {"shape":"KmsInvalidStateException"}, + {"shape":"KmsThrottlingException"} ], "documentation":"

    Provides information about a state machine's definition, its execution role ARN, and configuration. If a Map Run dispatched the execution, this action returns the Map Run Amazon Resource Name (ARN) in the response. The state machine returned is the state machine associated with the Map Run.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    This API action is not supported by EXPRESS state machines.

    " }, @@ -229,7 +245,10 @@ "errors":[ {"shape":"ActivityDoesNotExist"}, {"shape":"ActivityWorkerLimitExceeded"}, - {"shape":"InvalidArn"} + {"shape":"InvalidArn"}, + {"shape":"KmsAccessDeniedException"}, + {"shape":"KmsInvalidStateException"}, + {"shape":"KmsThrottlingException"} ], "documentation":"

    Used by workers to retrieve a task (with the specified activity ARN) which has been scheduled for execution by a running state machine. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available (i.e. an execution of a task of this type is needed.) The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll returns a taskToken with a null string.

    This API action isn't logged in CloudTrail.

    Workers should set their client side socket timeout to at least 65 seconds (5 seconds higher than the maximum time the service may hold the poll request).

    Polling with GetActivityTask can cause latency in some implementations. See Avoid Latency When Polling for Activity Tasks in the Step Functions Developer Guide.

    " }, @@ -244,7 +263,10 @@ "errors":[ {"shape":"ExecutionDoesNotExist"}, {"shape":"InvalidArn"}, - {"shape":"InvalidToken"} + {"shape":"InvalidToken"}, + {"shape":"KmsAccessDeniedException"}, + {"shape":"KmsInvalidStateException"}, + {"shape":"KmsThrottlingException"} ], "documentation":"

    Returns the history of the specified execution as a list of events. By default, the results are returned in ascending order of the timeStamp of the events. Use the reverseOrder parameter to get the latest events first.

    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.

    This API action is not supported by EXPRESS state machines.

    " }, @@ -401,9 +423,12 @@ "errors":[ {"shape":"TaskDoesNotExist"}, {"shape":"InvalidToken"}, - {"shape":"TaskTimedOut"} + {"shape":"TaskTimedOut"}, + {"shape":"KmsAccessDeniedException"}, + {"shape":"KmsInvalidStateException"}, + {"shape":"KmsThrottlingException"} ], - "documentation":"

    Used by activity workers, Task states using the callback pattern, and optionally Task states using the job run pattern to report that the task identified by the taskToken failed.

    " + "documentation":"

    Used by activity workers, Task states using the callback pattern, and optionally Task states using the job run pattern to report that the task identified by the taskToken failed.

    For an execution with encryption enabled, Step Functions will encrypt the error and cause fields using the KMS key for the execution role.

    A caller can mark a task as fail without using any KMS permissions in the execution role if the caller provides a null value for both error and cause fields because no data needs to be encrypted.

    " }, "SendTaskHeartbeat":{ "name":"SendTaskHeartbeat", @@ -432,7 +457,10 @@ {"shape":"TaskDoesNotExist"}, {"shape":"InvalidOutput"}, {"shape":"InvalidToken"}, - {"shape":"TaskTimedOut"} + {"shape":"TaskTimedOut"}, + {"shape":"KmsAccessDeniedException"}, + {"shape":"KmsInvalidStateException"}, + {"shape":"KmsThrottlingException"} ], "documentation":"

    Used by activity workers, Task states using the callback pattern, and optionally Task states using the job run pattern to report that the task identified by the taskToken completed successfully.

    " }, @@ -452,7 +480,10 @@ {"shape":"InvalidName"}, {"shape":"StateMachineDoesNotExist"}, {"shape":"StateMachineDeleting"}, - {"shape":"ValidationException"} + {"shape":"ValidationException"}, + {"shape":"KmsAccessDeniedException"}, + {"shape":"KmsInvalidStateException"}, + {"shape":"KmsThrottlingException"} ], "documentation":"

    Starts a state machine execution.

    A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN.

    The following are some examples of qualified and unqualified state machine ARNs:

    • The following qualified state machine ARN refers to a Distributed Map state with a label mapStateLabel in a state machine named myStateMachine.

      arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel

      If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails with ValidationException.

    • The following qualified state machine ARN refers to an alias named PROD.

      arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>

      If you provide a qualified state machine ARN that refers to a version ARN or an alias ARN, the request starts execution for that version or alias.

    • The following unqualified state machine ARN refers to a state machine named myStateMachine.

      arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>

    If you start an execution with an unqualified state machine ARN, Step Functions uses the latest revision of the state machine for the execution.

    To start executions of a state machine version, call StartExecution and provide the version ARN or the ARN of an alias that points to the version.

    StartExecution is idempotent for STANDARD workflows. For a STANDARD workflow, if you call StartExecution with the same name and input as a running execution, the call succeeds and return the same response as the original request. If the execution is closed or if the input is different, it returns a 400 ExecutionAlreadyExists error. You can reuse names after 90 days.

    StartExecution isn't idempotent for EXPRESS workflows.

    ", "idempotent":true @@ -471,7 +502,10 @@ {"shape":"InvalidName"}, {"shape":"StateMachineDoesNotExist"}, {"shape":"StateMachineDeleting"}, - {"shape":"StateMachineTypeNotSupported"} + {"shape":"StateMachineTypeNotSupported"}, + {"shape":"KmsAccessDeniedException"}, + {"shape":"KmsInvalidStateException"}, + {"shape":"KmsThrottlingException"} ], "documentation":"

    Starts a Synchronous Express state machine execution. StartSyncExecution is not available for STANDARD workflows.

    StartSyncExecution will return a 200 OK response, even if your execution fails, because the status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your execution from running, such as permissions errors, limit errors, or issues with your state machine code and configuration.

    This API action isn't logged in CloudTrail.

    ", "endpoint":{"hostPrefix":"sync-"} @@ -487,9 +521,12 @@ "errors":[ {"shape":"ExecutionDoesNotExist"}, {"shape":"InvalidArn"}, - {"shape":"ValidationException"} + {"shape":"ValidationException"}, + {"shape":"KmsAccessDeniedException"}, + {"shape":"KmsInvalidStateException"}, + {"shape":"KmsThrottlingException"} ], - "documentation":"

    Stops an execution.

    This API action is not supported by EXPRESS state machines.

    " + "documentation":"

    Stops an execution.

    This API action is not supported by EXPRESS state machines.

    For an execution with encryption enabled, Step Functions will encrypt the error and cause fields using the KMS key for the execution role.

    A caller can stop an execution without using any KMS permissions in the execution role if the caller provides a null value for both error and cause fields because no data needs to be encrypted.

    " }, "TagResource":{ "name":"TagResource", @@ -570,9 +607,12 @@ {"shape":"StateMachineDoesNotExist"}, {"shape":"ServiceQuotaExceededException"}, {"shape":"ConflictException"}, - {"shape":"ValidationException"} + {"shape":"ValidationException"}, + {"shape":"InvalidEncryptionConfiguration"}, + {"shape":"KmsAccessDeniedException"}, + {"shape":"KmsThrottlingException"} ], - "documentation":"

    Updates an existing state machine by modifying its definition, roleArn, or loggingConfiguration. Running executions will continue to use the previous definition and roleArn. You must include at least one of definition or roleArn or you will receive a MissingRequiredParameter error.

    A qualified state machine ARN refers to a Distributed Map state defined within a state machine. For example, the qualified state machine ARN arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel refers to a Distributed Map state with a label mapStateLabel in the state machine named stateMachineName.

    A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN.

    The following are some examples of qualified and unqualified state machine ARNs:

    • The following qualified state machine ARN refers to a Distributed Map state with a label mapStateLabel in a state machine named myStateMachine.

      arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel

      If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails with ValidationException.

    • The following qualified state machine ARN refers to an alias named PROD.

      arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>

      If you provide a qualified state machine ARN that refers to a version ARN or an alias ARN, the request starts execution for that version or alias.

    • The following unqualified state machine ARN refers to a state machine named myStateMachine.

      arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>

    After you update your state machine, you can set the publish parameter to true in the same action to publish a new version. This way, you can opt-in to strict versioning of your state machine.

    Step Functions assigns monotonically increasing integers for state machine versions, starting at version number 1.

    All StartExecution calls within a few seconds use the updated definition and roleArn. Executions started immediately after you call UpdateStateMachine may use the previous state machine definition and roleArn.

    ", + "documentation":"

    Updates an existing state machine by modifying its definition, roleArn, loggingConfiguration, or EncryptionConfiguration. Running executions will continue to use the previous definition and roleArn. You must include at least one of definition or roleArn or you will receive a MissingRequiredParameter error.

    A qualified state machine ARN refers to a Distributed Map state defined within a state machine. For example, the qualified state machine ARN arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel refers to a Distributed Map state with a label mapStateLabel in the state machine named stateMachineName.

    A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN.

    The following are some examples of qualified and unqualified state machine ARNs:

    • The following qualified state machine ARN refers to a Distributed Map state with a label mapStateLabel in a state machine named myStateMachine.

      arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel

      If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails with ValidationException.

    • The following qualified state machine ARN refers to an alias named PROD.

      arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>

      If you provide a qualified state machine ARN that refers to a version ARN or an alias ARN, the request starts execution for that version or alias.

    • The following unqualified state machine ARN refers to a state machine named myStateMachine.

      arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>

    After you update your state machine, you can set the publish parameter to true in the same action to publish a new version. This way, you can opt-in to strict versioning of your state machine.

    Step Functions assigns monotonically increasing integers for state machine versions, starting at version number 1.

    All StartExecution calls within a few seconds use the updated definition and roleArn. Executions started immediately after you call UpdateStateMachine may use the previous state machine definition and roleArn.

    ", "idempotent":true }, "UpdateStateMachineAlias":{ @@ -607,6 +647,14 @@ } }, "shapes":{ + "ActivityAlreadyExists":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Activity already exists. EncryptionConfiguration may not be updated.

    ", + "exception":true + }, "ActivityDoesNotExist":{ "type":"structure", "members":{ @@ -842,6 +890,10 @@ "tags":{ "shape":"TagList", "documentation":"

    The list of tags to add to a resource.

    An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide, and Controlling Access Using IAM Tags.

    Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

    " + }, + "encryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

    Settings to configure server-side encryption.

    " } } }, @@ -943,6 +995,10 @@ "versionDescription":{ "shape":"VersionDescription", "documentation":"

    Sets description about the state machine version. You can only set the description if the publish parameter is set to true. Otherwise, if you set versionDescription, but publish to false, this API action throws ValidationException.

    " + }, + "encryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

    Settings to configure server-side encryption.

    " } } }, @@ -1062,6 +1118,10 @@ "creationDate":{ "shape":"Timestamp", "documentation":"

    The date the activity is created.

    " + }, + "encryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

    Settings for configured server-side encryption.

    " } } }, @@ -1072,6 +1132,10 @@ "executionArn":{ "shape":"Arn", "documentation":"

    The Amazon Resource Name (ARN) of the execution to describe.

    " + }, + "includedData":{ + "shape":"IncludedData", + "documentation":"

    If your state machine definition is encrypted with a KMS key, callers must have kms:Decrypt permission to decrypt the definition. Alternatively, you can call DescribeStateMachine API with includedData = METADATA_ONLY to get a successful response without the encrypted definition.

    " } } }, @@ -1280,6 +1344,10 @@ "executionArn":{ "shape":"Arn", "documentation":"

    The Amazon Resource Name (ARN) of the execution you want state machine information for.

    " + }, + "includedData":{ + "shape":"IncludedData", + "documentation":"

    If your state machine definition is encrypted with a KMS key, callers must have kms:Decrypt permission to decrypt the definition. Alternatively, you can call the API with includedData = METADATA_ONLY to get a successful response without the encrypted definition.

    " } } }, @@ -1329,6 +1397,10 @@ "revisionId":{ "shape":"RevisionId", "documentation":"

    The revision identifier for the state machine. The first revision ID when you create the state machine is null.

    Use the state machine revisionId parameter to compare the revision of a state machine with the configuration of the state machine used for executions without performing a diff of the properties, such as definition and roleArn.

    " + }, + "encryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

    Settings to configure server-side encryption.

    " } } }, @@ -1339,6 +1411,10 @@ "stateMachineArn":{ "shape":"Arn", "documentation":"

    The Amazon Resource Name (ARN) of the state machine for which you want the information.

    If you specify a state machine version ARN, this API returns details about that version. The version ARN is a combination of state machine ARN and the version number separated by a colon (:). For example, stateMachineARN:1.

    " + }, + "includedData":{ + "shape":"IncludedData", + "documentation":"

    If your state machine definition is encrypted with a KMS key, callers must have kms:Decrypt permission to decrypt the definition. Alternatively, you can call the API with includedData = METADATA_ONLY to get a successful response without the encrypted definition.

    When calling a labelled ARN for an encrypted state machine, the includedData = METADATA_ONLY parameter will not apply because Step Functions needs to decrypt the entire state machine definition to get the Distributed Map state’s definition. In this case, the API caller needs to have kms:Decrypt permission.

    " } } }, @@ -1367,7 +1443,7 @@ }, "definition":{ "shape":"Definition", - "documentation":"

    The Amazon States Language definition of the state machine. See Amazon States Language.

    " + "documentation":"

    The Amazon States Language definition of the state machine. See Amazon States Language.

    If called with includedData = METADATA_ONLY, the returned definition will be {}.

    " }, "roleArn":{ "shape":"Arn", @@ -1397,10 +1473,41 @@ "description":{ "shape":"VersionDescription", "documentation":"

    The description of the state machine version.

    " + }, + "encryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

    Settings to configure server-side encryption.

    " } } }, "Enabled":{"type":"boolean"}, + "EncryptionConfiguration":{ + "type":"structure", + "required":["type"], + "members":{ + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    An alias, alias ARN, key ID, or key ARN of a symmetric encryption KMS key to encrypt data. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

    " + }, + "kmsDataKeyReusePeriodSeconds":{ + "shape":"KmsDataKeyReusePeriodSeconds", + "documentation":"

    Maximum duration that Step Functions will reuse data keys. When the period expires, Step Functions will call GenerateDataKey. Only applies to customer managed keys.

    ", + "box":true + }, + "type":{ + "shape":"EncryptionType", + "documentation":"

    Encryption type

    " + } + }, + "documentation":"

    Settings to configure server-side encryption.

    For additional control over security, you can encrypt your data using a customer-managed key for Step Functions state machines and activities. You can configure a symmetric KMS key and data key reuse period when creating or updating a State Machine, and when creating an Activity. The execution history and state machine definition will be encrypted with the key applied to the State Machine. Activity inputs will be encrypted with the key applied to the Activity.

    Step Functions automatically enables encryption at rest using Amazon Web Services owned keys at no charge. However, KMS charges apply when using a customer managed key. For more information about pricing, see Key Management Service pricing.

    For more information on KMS, see What is Key Management Service?

    " + }, + "EncryptionType":{ + "type":"string", + "enum":[ + "AWS_OWNED_KEY", + "CUSTOMER_MANAGED_KMS_KEY" + ] + }, "ErrorMessage":{"type":"string"}, "EventId":{"type":"long"}, "ExecutionAbortedEventDetails":{ @@ -1906,6 +2013,13 @@ "type":"boolean", "box":true }, + "IncludedData":{ + "type":"string", + "enum":[ + "ALL_DATA", + "METADATA_ONLY" + ] + }, "InspectionData":{ "type":"structure", "members":{ @@ -2021,6 +2135,14 @@ "documentation":"

    The provided Amazon States Language definition is not valid.

    ", "exception":true }, + "InvalidEncryptionConfiguration":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Received when encryptionConfiguration is specified but various conditions exist which make the configuration invalid. For example, if type is set to CUSTOMER_MANAGED_KMS_KEY, but kmsKeyId is null, or kmsDataKeyReusePeriodSeconds is not between 60 and 900, or the KMS key is not symmetric or inactive.

    ", + "exception":true + }, "InvalidExecutionInput":{ "type":"structure", "members":{ @@ -2034,7 +2156,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

    ", + "documentation":"

    Configuration is not valid.

    ", "exception":true }, "InvalidName":{ @@ -2069,6 +2191,55 @@ "documentation":"

    Your tracingConfiguration key does not match, or enabled has not been set to true or false.

    ", "exception":true }, + "KmsAccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Either your KMS key policy or API caller does not have the required permissions.

    ", + "exception":true + }, + "KmsDataKeyReusePeriodSeconds":{ + "type":"integer", + "box":true, + "max":900, + "min":60 + }, + "KmsInvalidStateException":{ + "type":"structure", + "members":{ + "kmsKeyState":{ + "shape":"KmsKeyState", + "documentation":"

    Current status of the KMS; key. For example: DISABLED, PENDING_DELETION, PENDING_IMPORT, UNAVAILABLE, CREATING.

    " + }, + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The KMS key is not in valid state, for example: Disabled or Deleted.

    ", + "exception":true + }, + "KmsKeyId":{ + "type":"string", + "max":2048, + "min":1 + }, + "KmsKeyState":{ + "type":"string", + "enum":[ + "DISABLED", + "PENDING_DELETION", + "PENDING_IMPORT", + "UNAVAILABLE", + "CREATING" + ] + }, + "KmsThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Received when KMS returns ThrottlingException for a KMS call that Step Functions makes on behalf of the caller.

    ", + "exception":true + }, "LambdaFunctionFailedEventDetails":{ "type":"structure", "members":{ @@ -2924,6 +3095,10 @@ "traceHeader":{ "shape":"TraceHeader", "documentation":"

    Passes the X-Ray trace header. The trace header can also be passed in the request payload.

    " + }, + "includedData":{ + "shape":"IncludedData", + "documentation":"

    If your state machine definition is encrypted with a KMS key, callers must have kms:Decrypt permission to decrypt the definition. Alternatively, you can call the API with includedData = METADATA_ONLY to get a successful response without the encrypted definition.

    " } } }, @@ -3131,7 +3306,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

    ", + "documentation":"

    State machine type is not supported.

    ", "exception":true }, "StateMachineVersionList":{ @@ -3495,7 +3670,7 @@ }, "TaskToken":{ "type":"string", - "max":1024, + "max":2048, "min":1 }, "TestExecutionStatus":{ @@ -3721,6 +3896,10 @@ "versionDescription":{ "shape":"VersionDescription", "documentation":"

    An optional description of the state machine version to publish.

    You can only specify the versionDescription parameter if you've set publish to true.

    " + }, + "encryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

    Settings to configure server-side encryption.

    " } } }, @@ -3852,5 +4031,5 @@ "includedDetails":{"type":"boolean"}, "truncated":{"type":"boolean"} }, - "documentation":"Step Functions

    Step Functions is a service that lets you coordinate the components of distributed applications and microservices using visual workflows.

    You can use Step Functions to build applications from individual components, each of which performs a discrete function, or task, allowing you to scale and change applications quickly. Step Functions provides a console that helps visualize the components of your application as a series of steps. Step Functions automatically triggers and tracks each step, and retries steps when there are errors, so your application executes predictably and in the right order every time. Step Functions logs the state of each step, so you can quickly diagnose and debug any issues.

    Step Functions manages operations and underlying infrastructure to ensure your application is available at any scale. You can run tasks on Amazon Web Services, your own servers, or any system that has access to Amazon Web Services. You can access and use Step Functions using the console, the Amazon Web Services SDKs, or an HTTP API. For more information about Step Functions, see the Step Functions Developer Guide .

    If you use the Step Functions API actions using Amazon Web Services SDK integrations, make sure the API actions are in camel case and parameter names are in Pascal case. For example, you could use Step Functions API action startSyncExecution and specify its parameter as StateMachineArn.

    " + "documentation":"Step Functions

    Step Functions coordinates the components of distributed applications and microservices using visual workflows.

    You can use Step Functions to build applications from individual components, each of which performs a discrete function, or task, allowing you to scale and change applications quickly. Step Functions provides a console that helps visualize the components of your application as a series of steps. Step Functions automatically triggers and tracks each step, and retries steps when there are errors, so your application executes predictably and in the right order every time. Step Functions logs the state of each step, so you can quickly diagnose and debug any issues.

    Step Functions manages operations and underlying infrastructure to ensure your application is available at any scale. You can run tasks on Amazon Web Services, your own servers, or any system that has access to Amazon Web Services. You can access and use Step Functions using the console, the Amazon Web Services SDKs, or an HTTP API. For more information about Step Functions, see the Step Functions Developer Guide .

    If you use the Step Functions API actions using Amazon Web Services SDK integrations, make sure the API actions are in camel case and parameter names are in Pascal case. For example, you could use Step Functions API action startSyncExecution and specify its parameter as StateMachineArn.

    " }